제출 #1089304

#제출 시각아이디문제언어결과실행 시간메모리
1089304vjudge1Kpart (eJOI21_kpart)C++17
0 / 100
1030 ms954196 KiB
#include <bits/stdc++.h> //qwerty47924692 using namespace std; using ll = int; const ll N=1e5+29; ll n,t,a[N],mp[N],dp[35][35][N],pref[N]; void solve(){ cin>>n; for(ll i=1;i<=n;i++){ cin>>a[i]; pref[i]=pref[i-1]+a[i]; } dp[0][0][0]=1; for(ll l=1;l<=n;l++){ dp[l][l-1][0]=1; for(ll r=l;r<=n;r++){ for(ll w=a[r];w<N;w++){ dp[l][r][w]|=dp[l][r-1][w-a[r]]; dp[l][r][w]|=dp[l][r-1][w]; } for(ll w=0;w<a[r];w++){ dp[l][r][w]|=dp[l][r-1][w]; } } } vector<ll>v; for(ll k=2;k<=n;k++){ ll ch=1; for(ll i=1;i+k-1<=n;i++){ ll pr=pref[i-1]; ll sum=pref[i+k-1]-pref[i-1]; if(dp[i][i+k-1][sum/2]&&(!(sum&1))){ continue; } else ch=0; }if(ch)v.push_back(k); } // cout<<dp[1][4][8]<<' '; cout<<v.size(); for(ll i:v){ cout<<' '<<i; } } int main(){ ios_base::sync_with_stdio(0); cin.tie(0); ll t; cin>>t; while(t--){ solve(); cout<<'\n'; } }

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

Main.cpp: In function 'void solve()':
Main.cpp:33:16: warning: unused variable 'pr' [-Wunused-variable]
   33 |             ll pr=pref[i-1];
      |                ^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...