Submission #1173386

#TimeUsernameProblemLanguageResultExecution timeMemory
1173386ezzzayFeast (NOI19_feast)C++20
10 / 100
20 ms1092 KiB
#include<bits/stdc++.h> using namespace std; #define ff first #define ss second #define pb push_back #define int long long const int N=200; int dp[N][N][2]; int a[N]; int ps[N][N]; int mx[N][N]; signed main(){ int n,k; cin>>n>>k; for(int i=1;i<=n;i++)cin>>a[i]; for(int i=0;i<N;i++){ for(int j=0;j<N;j++) { dp[i][j][0]= -7e15; dp[i][j][1]= -7e15; } } dp[0][0][0]=0; dp[0][0][1]=0; int ans= 0; for(int i=1;i<=n;i++){ for(int j=1;j<=k;j++){ dp[i][j][1] = max( {dp[i][j][1] , dp[i-1][j][1]+a[i] , dp[i-1][j][0]+a[i] ,dp[i-1][j-1][1] +a[i]}); dp[i][j][0]= max({dp[i][j][0] ,dp[i-1][j][0],dp[i-1][j-1][1]}); ans=max(ans,dp[i][j][1]); } } for(int i=1;i<=n;i++){ ans=max(ans,dp[i][k][1]); } cout<<ans; }
#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...