Submission #369207

#TimeUsernameProblemLanguageResultExecution timeMemory
369207Ahmad_HasanVođe (COCI17_vode)C++17
120 / 120
1479 ms283244 KiB
#include <bits/stdc++.h> /** |||||||||| ||||| ||||| |||||||||| ||||||||||||| ||||| ||||| ||||| |||| |||||| ||||| ||||| ||||| ||||||||||||||||| ||||||||||||||| |||||||||| ||||||||||||||||||| ||||||||||||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| |||||||||| AHMED;HASSAN;SAEED; */ using namespace std; int32_t main() { /**freopen("movie.in","r",stdin); freopen("movie.out","w",stdout);*/ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n,m,k; cin>>n>>m>>k; vector<int>v(n); for(int i=0;i<n;i++){ cin>>v[i]; } int dp[n][m+5]; for(int i=0;i<n;i++){ dp[i][m]=0; dp[i][0]=-1; } int cntr[n][m+5][2]; memset(cntr,0,sizeof(cntr)); for(int i=0;i<n;i++) cntr[i][m][0]=1; for(int j=m-1;j>=0;j--){ for(int i=n-1;i>=0;i--){ if(j==0){ if(cntr[i][j+1][1]) dp[i][j]=1; else dp[i][j]=0; } else{ if(v[i]==v[(i+1)%n]){ if(cntr[(i+1)%n][j+1][1]) dp[i][j]=1; else dp[i][j]=0; } else{ if(cntr[(i+1)%n][j+1][1]) dp[i][j]=0; else dp[i][j]=1; } } cntr[i][j][0]=cntr[i][j+1][0]; cntr[i][j][1]=cntr[i][j+1][1]; cntr[i][j][dp[i][j]]++; if(j+k<=m){ cntr[i][j][dp[i][j+k]]--; } ///cout<<i<<' '<<j<<' '<<cntr[i][j][0]<<'\n'; /** for(int z=1;z<=k;z++){ if(z+j<=m){ if(j==0){ dp[i][j]=max(dp[i][j],dp[i][z]); } else{ if(v[i]==v[(i+1)%n]) dp[i][j]=max(dp[i][j],dp[(i+1)%n][j+z]); else{ if(dp[i][j]==-2) dp[i][j]=2; dp[i][j]=min(dp[i][j],1-dp[(i+1)%n][j+z]); } } } }*/ } } /** for(int i=0;i<n;i++){ cout<<'#'; for(int j=0;j<=m;j++){ cout<<dp[i][j]<<' '; } cout<<'\n'; } for(int i=0;i<n;i++){ cout<<'#'; for(int j=0;j<=m;j++){ cout<<cntr[i][j][0]<<'&'<<cntr[i][j][1]<<' '; } cout<<'\n'; } */ for(int i=0;i<n;i++) cout<<((dp[i][0]==1)?v[i]:!v[i])<<' '; return 0; } /** 6 20 5 1 0 0 1 1 0 */
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...