Submission #163781

#TimeUsernameProblemLanguageResultExecution timeMemory
163781MvCBootfall (IZhO17_bootfall)C++11
Compilation error
0 ms0 KiB
#pragma GCC target("avx2") #pragma GCC optimization("O3") #pragma GCC optimization("unroll-loops") #include <bits/stdc++.h> #define rc(x) return cout<<x<<endl,0 #define pb push_back #define mkp make_pair #define in insert #define er erase #define fd find #define fr first #define sc second typedef long long ll; typedef long double ld; const ll INF=0x3f3f3f3f3f3f3f3f; const ll llinf=(1LL<<62); const int inf=(1<<30); const int nmax=5e2+5; const int mmax=350*350; const int mod=1e9+7; using namespace std; int n,a[nmax],sm,i,j; vector<int>vc; //bitset<mmax>f[nmax]; int main() { //freopen("sol.in","r",stdin); //freopen("sol.out","w",stdout); //mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); ios_base::sync_with_stdio(false);cin.tie(0);cerr.tie(0);cout.tie(0); cin>>n; for(i=1;i<=n;i++)cin>>a[i],sm+=a[i]; if(sm&1)rc(0); bitset<sm+1>f[n+1]; for(i=0;i<=n;i++) { f[i][0]=1; for(j=1;j<=n;j++) { if(i==j)continue; f[i]|=(f[i]<<a[j]); } if(!f[0][sm/2])rc(0); } for(i=1;i<=sm;i++) { for(j=1;j<=n;j++) { if((sm-a[j]+i)&1 || !f[j][(sm-a[j]+i)/2])break; } if(j==n+1)vc.pb(i); } cout<<(int)vc.size()<<endl; for(i=0;i<(int)vc.size();i++)cout<<vc[i]<<" "; cout<<endl; return 0; }

Compilation message (stderr)

bootfall.cpp:2:0: warning: ignoring #pragma GCC optimization [-Wunknown-pragmas]
 #pragma GCC optimization("O3")
 
bootfall.cpp:3:0: warning: ignoring #pragma GCC optimization [-Wunknown-pragmas]
 #pragma GCC optimization("unroll-loops")
 
bootfall.cpp: In function 'int main()':
bootfall.cpp:34:12: error: the value of 'sm' is not usable in a constant expression
  bitset<sm+1>f[n+1];
            ^
bootfall.cpp:22:15: note: 'int sm' is not const
 int n,a[nmax],sm,i,j;
               ^~
bootfall.cpp:34:13: error: the value of 'sm' is not usable in a constant expression
  bitset<sm+1>f[n+1];
             ^
bootfall.cpp:22:15: note: 'int sm' is not const
 int n,a[nmax],sm,i,j;
               ^~
bootfall.cpp:34:13: note: in template argument for type 'long unsigned int' 
  bitset<sm+1>f[n+1];
             ^
bootfall.cpp:37:9: error: invalid types 'int[int]' for array subscript
   f[i][0]=1;
         ^
bootfall.cpp:43:16: error: invalid types 'int[int]' for array subscript
   if(!f[0][sm/2])rc(0);
                ^
bootfall.cpp:49:43: error: invalid types 'int[int]' for array subscript
    if((sm-a[j]+i)&1 || !f[j][(sm-a[j]+i)/2])break;
                                           ^