杭电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; }