杭电acm4505

http://acm.hdu.edu.cn/showproblem.php?pid=4505

题目和1008差不多,只是多了个开门时间,少了停顿时间,用简单哈希就可以解了

#include<stdio.h>
int main()
{
 int n,sum,a[120],i,c,x,max;
 scanf("%d",&c);
 while(c--)
 {
  scanf("%d",&n);
  for(i=0;i<120;i++)
     a[i]=0;
     max=a[0]=0;
     sum=0;
     for(i=1;i<=n;i++)
        {
         scanf("%d",&x);
         a[x]++;
         if(x>max)
           max=x;
        }
     for(i=1;i<=max;i++)
     {
           if(a[i]==0)
             sum+=6;
           else sum+=6+5+a[i];
     }
     sum+=max*4;
     printf("%d\n",sum);
  }
 return 0;
} 
View Code

 

posted @ 2013-05-16 22:11  执着追求的IT小小鸟  阅读(127)  评论(0编辑  收藏  举报