best coder #56 div 2 A Clarke and minecraft(贪心)

贪心..尽量把一样的材料放在一起... 然后写蠢了..妈蛋... 详情见代码

/*************************************************************************
	> File Name: code/bc/#56/1001.cpp
	> Author: 111qqz
	> Email: rkz2013@126.com 
	> Created Time: 2015年09月19日 星期六 18时55分49秒
 ************************************************************************/
 1#include<iostream>
 2#include<iomanip>
 3#include<cstdio>
 4#include<algorithm>
 5#include<cmath>
 6#include<cstring>
 7#include<string>
 8#include<map>
 9#include<set>
10#include<queue>
11#include<vector>
12#include<stack>
13#include<cctype>
14#define y1 hust111qqz
15#define yn hez111qqz
16#define j1 cute111qqz
17#define ms(a,x) memset(a,x,sizeof(a))
18#define lr dying111qqz
19using namespace std;
20#define For(i, n) for (int i=0;i<int(n);++i)  
21typedef long long LL;
22typedef double DB;
23const int inf = 0x3f3f3f3f;
24const int N=5E2+7;
25int a[N],b[N];
26int ans,cnt;
27int p[N];
28int n;
29int main()
30{
31  #ifndef  ONLINE_JUDGE 
32    freopen("in.txt","r",stdin);  
33  #endif
34    int T;
35    cin>>T;
36    while (T--)
37    {
38	ans  = 0;
39	cnt  = 0;
40	ms(p,0);
41	scanf("%d",&n);
42	for ( int i = 0 ; i < n ; i++ )
43	{
44	    scanf("%d %d",&a[i],&b[i]);
45	    p[a[i]]+=b[i];
46	}
47	int kind =  0;
48	for ( int i = 1 ;i <= 500 ; i++)
49	{
50	    if (p[i]!=0)
51	    {
52	    //	cnt = cnt + (p[i]-1)/64 + 1;
53		cnt = cnt + (p[i]+63)/64;  //这样写不知高到哪里去了.
54		p[i] = 0;
55	    }
1	}
2	//ans = ans + (cnt-1)/36+1;
3	ans = (cnt+35)/36; //不知高到哪里去了...
4	printf("%d\n",ans);
    }
1 #ifndef ONLINE_JUDGE  
2  fclose(stdin);
3  #endif
4	return 0;
5}