Submission #1106381

#TimeUsernameProblemLanguageResultExecution timeMemory
1106381MuhammetKpart (eJOI21_kpart)C++17
30 / 100
2052 ms432 KiB
#include "bits/stdc++.h" using namespace std; #define ll long long #define ff first #define ss second const int N = 3e5+5; int T, n; int main(){ // freopen("file.in", "r", stdin); cin >> T; while(T--){ cin >> n; vector <int> a(n+1); int s = 0; for(int i = 1; i <= n; i++){ cin >> a[i]; s += a[i]; } vector <int> vis(n+1,0); for(int i = 1; i <= n; i++){ vector <bool> dp(s+1,0); dp[0] = 1; int s1 = 0; for(int j = i; j <= n; j++){ s1 += a[j]; for(int k = s-a[j]; k >= 0; k--){ if(dp[k] == 1) dp[k + a[j]] = 1; } if(dp[s1/2] == 1 and s1 % 2 == 0) vis[(j-i+1)]++; } s -= a[i]; } int cnt = 0; vector <int> v; for(int i = 1; i <= n; i++){ if(vis[i] == n-i+1){ cnt++; v.push_back(i); } } cout << cnt << ' '; for(auto i : v){ cout << i << " "; } cout << '\n'; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...