1 #include <iostream>
2 #include <cstdio>
3 #include <algorithm>
4 #include <cstring>
5
6 using namespace std;
7
8 int n;
9 int sum,w[15];
10 int rest[151];
11
12 int main()
13 {
14 while(scanf("%d",&n) != EOF)
15 {
16 sum=0;
17 int re=0,tag=0;
18 memset(rest,0,sizeof(rest));
19 for(int i=0;i<n;i++)
20 {
21 scanf("%d",&w[i]);
22 sum+=w[i];
23 }
24 sort(w,w+n);
25 switch(n)
26 {
27 case 0:
28 case 1:
29 case 2:
30 case 3:
31 puts("1024");
32 break;
33 case 4:
34 for(int i=0;i<=1 && !tag;i++)
35 for(int j=i+1;j<=2 && !tag;j++)
36 for(int k=j+1;k<=3 && !tag;k++)
37 if((w[i]+w[j]+w[k])%1024==0)//很奇怪这里写成 if((w[i]+w[j]+w[k])&&(w[i]+w[j]+w[k])%1024==0)会wa。。难道 4 0 0 0 0精灵也让过?
38 tag=1;
39 if(tag)
40 puts("1024");
41 else
42 {
43 for(int i=0;i<=2;i++)
44 for(int j=i+1;j<=3;j++)
45 rest[re++]=sum-w[i]-w[j];
46 for(int i=0;i<re;i++)
47 rest[i]=(rest[i]-1)%1024+1;
48 sort(rest,rest+re);
49 printf("%d\n",rest[re-1]);
50 }
51 break;
52 case 5:
53 for(int i=0;i<=2 && !tag;i++)
54 for(int j=i+1;j<=3 && !tag;j++)
55 for(int k=j+1;k<=4 && !tag;k++)
56 if((w[i]+w[j]+w[k])%1024==0)
57 {
58 tag=1;
59 rest[re++]=sum-w[i]-w[j]-w[k];
60 }
61 if(!tag)
62 puts("0");
63 else
64 {
65 for(int i=0;i<re;i++)
66 rest[i]=(rest[i]-1)%1024+1;
67 sort(rest,rest+re);
68 printf("%d\n",rest[re-1]);
69
70 }
71 break;
72 }
73 }
74 return 0;
75 }