#include #include #include #include #include #include #include #include #include #include #include using namespace std; using namespace chrono; #define official #ifdef official #define cin inF #define cout outF #endif ifstream inF("product.in"); ofstream outF("product.out"); const int MAX_N=250; const int ITERS=1000; int n; int a[MAX_N]; int ans; void input() { cin>>n; for (int i=0; i>a[i]; } } bool fair_share[MAX_N]; void gen_fair_shair() { int p=1; int i=1; fair_share[0]=0; bool f=1; while (f) { for (;i<2*p;++i) { fair_share[i]=!fair_share[i-p]; if (i>200) { f=0; break; } } p*=2; } } vector nums[2]; int pro; void output() { cout<b; } void shuffle() { for (int i=n-1;i>0;--i) { swap(a[i],a[rand()%(i+1)]); } } vector cnums[2]; int cpro; high_resolution_clock::time_point startT,currT; void solve() { bool f; sort(a,a+n,cmp); gen_fair_shair(); int sum[2]={0,0}; for (int i=0;ipro) { pro=cpro; nums[0]=cnums[0]; nums[1]=cnums[1]; } currT=high_resolution_clock::now(); while (duration_cast>(currT-startT).count()<0.4) { shuffle(); sum[0]=0; sum[1]=0; cnums[0].resize(0); cnums[1].resize(0); for (int i=0;ipro) { pro=cpro; nums[0]=cnums[0]; nums[1]=cnums[1]; } currT=high_resolution_clock::now(); } } int main() { startT=high_resolution_clock::now(); currT=high_resolution_clock::now(); srand(0); input(); solve(); output(); return 0; }