Submission #395960

# Submission time Handle Problem Language Result Execution time Memory
395960 2021-04-29T09:18:34 Z fadi57 Holding (COCI20_holding) C++14
88 / 110
268 ms 204516 KB
#include<bits/stdc++.h>
using namespace std;

const int mx=60;
int n,l,r,k;
typedef long long ll;
ll a[mx];
int dp[mx][mx][10010];
int dp2[mx][mx][10010];
int solveL(int i,int j,int left){
    if(j<l){return 0;}
if(i<0){return 0;}
if(left<0){return 0;}
int &ret=dp[i][j][left];
if(ret!=-1){return ret;}

if(abs(j-i)<=left){

    ret=solveL(i-1,j-1,left-abs(j-i))+(a[j]-a[i]);
}
ret=max(ret,solveL(i-1,j,left));
ret=max(ret,solveL(i,j-1,left));

return ret;
}
int solveR(int i,int j,int left){
    if(j>r){return 0;}
if(i>=n){return 0;}
if(left<0){return 0;}
int &ret=dp[i][j][left];
if(ret!=-1){return ret;}

if(abs(j-i)<=left){

    ret=solveR(i+1,j+1,left-abs(j-i))+(a[j]-a[i]);
}
ret=max(ret,solveR(i+1,j,left));
ret=max(ret,solveR(i,j+1,left));
return ret;
}
int main(){
cin>>n>>l>>r>>k;
l--;
r--;
ll sum=0;
ll ans;
/*
memset(dp,-1,sizeof(dp));
memset(dp2,-1,sizeof(dp2
                     */
for(int i=0;i<n;i++){

    cin>>a[i];
    if(i>=l&&i<=r){sum+=a[i];}
}
for(int i=0;i<=n;i++){
    for(int j=0;j<=n;j++){
        for(int l=0;l<=k;l++){
            dp[i][j][l]=-1;
            dp2[i][j][l]=-1;
        }
    }
}
ans=sum;

for(int i=l-1;i<=r;i++){
    for(int j=0;j<=k;j++){


   ll z=solveL(l-1,i,j)+solveR(r+1,i+1,k-j);
    ans=min(sum-z,ans);

     //cout<<z;

      }
 }
 cout<<ans;





}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 588 KB Output is correct
2 Correct 1 ms 1996 KB Output is correct
3 Correct 1 ms 2000 KB Output is correct
4 Correct 1 ms 1996 KB Output is correct
5 Correct 1 ms 1868 KB Output is correct
6 Correct 1 ms 1996 KB Output is correct
7 Correct 16 ms 13736 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 588 KB Output is correct
2 Correct 1 ms 1996 KB Output is correct
3 Correct 1 ms 2000 KB Output is correct
4 Correct 1 ms 1996 KB Output is correct
5 Correct 1 ms 1868 KB Output is correct
6 Correct 1 ms 1996 KB Output is correct
7 Correct 16 ms 13736 KB Output is correct
8 Correct 11 ms 22552 KB Output is correct
9 Correct 12 ms 23204 KB Output is correct
10 Correct 14 ms 23244 KB Output is correct
11 Correct 15 ms 25296 KB Output is correct
12 Correct 12 ms 23440 KB Output is correct
13 Correct 268 ms 204508 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 588 KB Output is correct
2 Correct 1 ms 1996 KB Output is correct
3 Correct 1 ms 2000 KB Output is correct
4 Correct 1 ms 1996 KB Output is correct
5 Correct 1 ms 1868 KB Output is correct
6 Correct 1 ms 1996 KB Output is correct
7 Correct 16 ms 13736 KB Output is correct
8 Correct 11 ms 22552 KB Output is correct
9 Correct 12 ms 23204 KB Output is correct
10 Correct 14 ms 23244 KB Output is correct
11 Correct 15 ms 25296 KB Output is correct
12 Correct 12 ms 23440 KB Output is correct
13 Correct 268 ms 204508 KB Output is correct
14 Correct 10 ms 21580 KB Output is correct
15 Correct 12 ms 23124 KB Output is correct
16 Correct 11 ms 22416 KB Output is correct
17 Correct 14 ms 24780 KB Output is correct
18 Correct 19 ms 26472 KB Output is correct
19 Correct 259 ms 204516 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 588 KB Output is correct
2 Correct 1 ms 1996 KB Output is correct
3 Correct 1 ms 2000 KB Output is correct
4 Correct 1 ms 1996 KB Output is correct
5 Correct 1 ms 1868 KB Output is correct
6 Correct 1 ms 1996 KB Output is correct
7 Correct 16 ms 13736 KB Output is correct
8 Correct 11 ms 22552 KB Output is correct
9 Correct 12 ms 23204 KB Output is correct
10 Correct 14 ms 23244 KB Output is correct
11 Correct 15 ms 25296 KB Output is correct
12 Correct 12 ms 23440 KB Output is correct
13 Correct 268 ms 204508 KB Output is correct
14 Correct 10 ms 21580 KB Output is correct
15 Correct 12 ms 23124 KB Output is correct
16 Correct 11 ms 22416 KB Output is correct
17 Correct 14 ms 24780 KB Output is correct
18 Correct 19 ms 26472 KB Output is correct
19 Correct 259 ms 204516 KB Output is correct
20 Incorrect 2 ms 1612 KB Output isn't correct
21 Halted 0 ms 0 KB -