Submission #91231

#TimeUsernameProblemLanguageResultExecution timeMemory
91231VardanyanBootfall (IZhO17_bootfall)C++14
6 / 100
2 ms692 KiB
#include<bits/stdc++.h> using namespace std; const int N = 505; char dp[N][N*N]; int a[N]; int dp1[N*N]; int main() { int n; scanf("%d",&n); int MX = 0; int sum = 0; for(int i = 1;i<=n;i++){ scanf("%d",&a[i]); MX+=a[i]; sum+=a[i]; } sort(a+1,a+1+n); dp1[0] = 1; for(int j = 1;j<=n;j++){ for(int s = 2*MX;s>=0;s--){ if(dp1[s]) dp1[s+a[j]] += dp1[s]; } } for(int i = 1;i<=n;i++){ for(int s = 0;s<=2*MX;s++) dp1[s+a[i]] -= dp1[s]; for(int s = 0;s<=2*MX;s++) dp[i][s] = dp1[s]; for(int s = 2*MX;s>=0;s--) dp1[s+a[i]] += dp1[s]; } //cout<<sum<<endl; //cout<<dp[0][sum/2]<<endl; if(!dp1[sum/2]){ printf("0\n"); return 0; } vector<int> ans; for(int x = 1;x<=MX;x++){ sum+=x; bool F = true; for(int i = 1;i<=n;i++){ sum-=a[i]; int need = sum/2; sum+=a[i]; if(dp[i][need-x] && (sum-a[i])%2 == 0) continue; F = false; break; } sum-=x; if(F) ans.push_back(x); } printf("%d\n",ans.size()); for(int i = 0;i<ans.size();i++) printf("%d ",ans[i]); printf("\n"); return 0; }

Compilation message (stderr)

bootfall.cpp: In function 'int main()':
bootfall.cpp:52:29: warning: format '%d' expects argument of type 'int', but argument 2 has type 'std::vector<int>::size_type {aka long unsigned int}' [-Wformat=]
     printf("%d\n",ans.size());
                   ~~~~~~~~~~^
bootfall.cpp:53:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i = 0;i<ans.size();i++) printf("%d ",ans[i]);
                   ~^~~~~~~~~~~
bootfall.cpp:11:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d",&n);
     ~~~~~^~~~~~~~~
bootfall.cpp:15:18: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
             scanf("%d",&a[i]);
             ~~~~~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...