http://gall.dcinside.com/board/view/?id=programming&no=530510&page=2

자바 버젼 :

import java.util.Scanner;

public class DCProgramingalley1 {
 public static void main(String[] args) {
  int a,b,c,d=0;
  Scanner s=new Scanner(System.in);
  a=s.nextInt();
  int []f=new int[a];
  for(int i=0;i<a;i++){
   b=s.nextInt();
   for(int j=0;j<b;j++){
    c=s.nextInt();
    if(c>3)
     d+=3;
    else
     d+=c;
    if((j+1)%6==0 && d>16*((j+1)/6))
     d=16;
   }
   f[i]=d;
   d=0;
  }
  for(int i=0;i<a;i++){
   System.out.println(f[i]);
  }
  s.close();
 }
}


C언어 버젼 :

#include<stdio.h>
#include<stdlib.h>
main()
{
 int a, b, c, d=0;
 scanf("%d",&a);
 int *f = (int*) malloc(sizeof(int) * a);
 for (int i = 0; i<a; i++) {
  scanf("%d", &b);
  for (int j = 0; j<b; j++) {
   scanf("%d", &c);
   if (c>3)
    d += 3;
   else
    d += c;
   if ((j + 1) % 6 == 0 && d>16 * ((j + 1) / 6))
    d = 16;
  }
  f[i] = d;
  d = 0;
 }
 for (int i = 0; i<a; i++) {
  printf("%d\n", f[i]);
 }
 system("pause");
}