3 solutions
-
0
#include<bits/stdc++.h> using namespace std; const int N=1010,M=40; int n,m,a[N],f[N][M],ans; int main() { cin>>n>>m; for(int i=1;i<=n;i++) { cin>>a[i]; a[i]%=2; } for(int j=0;j<=m;j++) { for(int i=1;i<=n;i++) { if(j) { f[i][j]=max(f[i-1][j]+(j%2!=a[i]),f[i-1][j-1]+(j%2==a[i])); } else { f[i][j]=f[i-1][j]+(j%2!=a[i]); } } } for(int i=0;i<=m;i++) { ans=max(ans,f[n][i]); } cout<<ans; return 0; }
Information
- ID
- 3038
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 9
- Tags
- (None)
- # Submissions
- 14
- Accepted
- 4
- Uploaded By