제출 #93073

#제출 시각아이디문제언어결과실행 시간메모리
93073emil_physmathBootfall (IZhO17_bootfall)C++17
28 / 100
736 ms5460 KiB
#include <iostream> #include <stdio.h> #include <algorithm> #include <bitset> #include <cmath> #include <cstring> #include <vector> using namespace std; const int MAXN=505; int a[MAXN]; bool isNotAns[501*501]; vector<int> NotPossSums(int arr[], int n); int main() { int n, sum=0; cin>>n; for (int i=0; i<n; i++) { cin>>a[i]; sum+=a[i]; } vector<int> temp=NotPossSums(a, n); auto it=lower_bound(temp.begin(), temp.end(), sum/2); if (sum%2 || (it!=temp.end() && *it==sum/2)) { cout<<"0\n"; return 0; } for (int j=0; j<n; j++) { swap(a[j], a[n-1]); vector<int> temp=NotPossSums(a, n-1); swap(a[j], a[n-1]); for (int x=1; x<=sum; x++) if ((sum-a[j]+x)%2 || (sum-a[j]+x)/2-x<0) isNotAns[x]=true; for (int i=0; i<temp.size(); i++) { int cur=temp[i]; if (sum-a[j]-2*cur>0) isNotAns[sum-a[j]-2*cur]=true; } } vector<int> ans; for (int x=1; x<=sum; x++) if (!isNotAns[x]) ans.push_back(x); cout<<ans.size()<<'\n'; for (int i=0; i<ans.size(); i++) cout<<ans[i]<<' '; cout<<'\n'; char I; cin >> I; return 0; } bool dp[MAXN][10000]; vector<int> NotPossSums(int arr[], int n) { int sum=0; for (int i=0; i<n; i++) sum+=arr[i]; memset(dp, 0, sizeof(dp)); for (int i=0; i<=n; i++) dp[i][0]=true; for (int i=1; i<=n; i++) { dp[i][arr[i-1]]=true; for (int j=1; j<=sum; j++) { if (dp[i-1][j]==true) { dp[i][j]=true; dp[i][j+arr[i-1]]=true; } } } vector<int> res; for (int j=0; j<=sum; j++) if (!dp[n][j]) res.push_back(j); return res; }

컴파일 시 표준 에러 (stderr) 메시지

bootfall.cpp: In function 'int main()':
bootfall.cpp:38:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for (int i=0; i<temp.size(); i++)
                 ~^~~~~~~~~~~~
bootfall.cpp:49:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (int i=0; i<ans.size(); 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...