Submission #1039077

#TimeUsernameProblemLanguageResultExecution timeMemory
1039077biserailievaKpart (eJOI21_kpart)C++14
10 / 100
2081 ms852 KiB
#include <bits/stdc++.h> using namespace std; #define int long long const int mod = 1e9 + 7; const int maxn = 1e5 + 10; const int logn=25; signed main() { ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); int t; cin>>t; int n; while(t--) { cin>>n; int x[n+1]; int p[n+1]; p[0]=0; for(int i=1;i<=n;i++) { cin>>x[i]; p[i]=p[i-1]+x[i]; } vector<int>ans; for(int k=2;k<=n;k++) { bool ok=true; for(int i=1;i<=n-k+1;i++) { int kol=(p[k+i-1]-p[i-1]); if(kol%2==1) { ok=false; break; } kol/=2; set<int>prev; prev.insert(0); set<int>next; for(int j=i;j<=i+k-1;j++) { for(auto ax:prev) { next.insert(ax+x[j]); } prev=next; } if(prev.count(kol)==0) { ok=false; break; } } if(ok) { ans.push_back(k); } } cout<<ans.size()<<" "; for(auto ax:ans) { cout<<ax<< " "; } cout<<endl; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...