Submission #786913

# Submission time Handle Problem Language Result Execution time Memory
786913 2023-07-18T14:39:07 Z Bula Kpart (eJOI21_kpart) C++17
30 / 100
2000 ms 342868 KB
#include <bits/stdc++.h>
using namespace std;

#define ll long long
#define pb push_back
#define all(x) x.begin(),x.end()
#define rall(x) x.rbegin(),x.rend()
#define int ll
const ll mod=1e9+7;
int dp[1001][50001];

main(){
	int tt;
	cin>>tt;
	while(tt--){
		int n;
		cin>>n;
		vector<int> v(n+1),pref(n+1);
		int s=0;
		for(int i=1;i<=n;i++){
			cin>>v[i];
			s+=v[i];
		}
		for(int i=1;i<=n;i++){
			pref[i]=pref[i-1]+v[i];
		}
		
		for(int i=1;i<=n;i++){
			for(int j=1;j<=s;j++){
				dp[i][j]=0;
			}
		}
		
		for(int i=1;i<=n;i++){
			for(int j=s;j>=1;j--){
				dp[i][j]=dp[i-1][j];
				if(j>v[i]) dp[i][j]=max(dp[i][j],dp[i-1][j-v[i]]);
				if(j==v[i]) dp[i][j]=i;
			}
		}
		vector<int> k;
		for(int i=2;i<=n;i++){
			bool ok = true;
			for(int j=i;j<=n;j++){
				int sum=pref[j]-pref[j-i];
				if(sum%2==1 || dp[j][sum/2]<=j-i){
					ok = false;
					break;
				}
			}
			if(ok == true) k.pb(i);
		}
		
		cout<<k.size()<<" ";
		for(int i=0;i<k.size();i++){
			cout<<k[i]<<" ";
		}
		cout<<endl;
		
//		for(int i=1;i<=n;i++){
//			for(int j=1;j<=s;j++){
//				cout<<dp[i][j]<<" ";
//			}
//			cout<<endl;
//		}
	}
}

Compilation message

Main.cpp:12:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   12 | main(){
      | ^~~~
Main.cpp: In function 'int main()':
Main.cpp:55:16: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   55 |   for(int i=0;i<k.size();i++){
      |               ~^~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 2 ms 1108 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 11 ms 4564 KB Output is correct
2 Correct 40 ms 13216 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 204 ms 53092 KB Output is correct
2 Correct 554 ms 120676 KB Output is correct
3 Correct 661 ms 154104 KB Output is correct
4 Correct 1090 ms 220784 KB Output is correct
5 Execution timed out 2095 ms 342868 KB Time limit exceeded
6 Halted 0 ms 0 KB -