제출 #1125911

#제출 시각아이디문제언어결과실행 시간메모리
1125911_unknown_2010Kpart (eJOI21_kpart)C++20
10 / 100
2095 ms544 KiB
#ifndef LOCAL #pragma GCC optimize ("Ofast") #pragma GCC optimize ("unroll-loops") #endif #include <bits/stdc++.h> using namespace std; #define int int64_t #define vi vector #define TESTCASES const int mod = 1E9+7; const int MAXN=200000; const int inf=1e18; void solution(){ int n; cin >> n; vi<int> a(n); for(auto &x:a)cin >> x; vi<int> ans; for(int i=1; i<=n; i++){ bool ok=1; for(int j=0; j<=n-i; j++){ vi<int> vec; int sum=0; for(int k=j; k<j+i; k++){ vec.push_back(a[k]); sum+=a[k]; } vi<int> vis(sum+1); vis[0]=1; for(int k=0; k<vec.size(); k++){ for(int j=sum-vec[k]; j>=0; j--){ if(vis[j]==0)continue; vis[j+vec[k]]|=1; } } if(vis[sum/2]==0 || sum%2!=0){ok=0;break;} } if(ok)ans.push_back(i); } cout << ans.size() << ' '; for(auto &x:ans)cout << x << ' '; } int32_t main(){ // clock_t tStart = clock(); #ifdef khos freopen("input.txt", "r", stdin); freopen("output.txt", "w", stdout); #endif std::ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int q = 1; #ifdef TESTCASES cin >> q; #endif while(q--) { solution(); cout << '\n'; } // cerr<<fixed<<setprecision(3)<<"\nTime Taken: "<<(double)(clock()- tStart)/CLOCKS_PER_SEC<<endl; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...