Submission #844506

# Submission time Handle Problem Language Result Execution time Memory
844506 2023-09-05T13:42:25 Z vjudge1 Holding (COCI20_holding) C++17
22 / 110
37 ms 8676 KB
#include <bits/stdc++.h>
using namespace std;
int dp[105][10005], dplast[105][10005];

signed main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0);

    int n, left, right, k; cin >> n >> left >> right >> k;

    vector<int> a(n+1);

    for (int i = 1; i <= n; i++) cin >> a[i];

    int sum = 0;

    for (int i = left; i <= right; i++) sum+=a[i];

    for(int l=0; l<100+5; l++){
        for(int j=0; j<=k; j++){
            dp[l][j]=dplast[l][j]=sum;

        }
    }

    int ans=sum;

    for(int i=1; i<=right; i++){

        if(i<left){
            for(int l=left; l<=n; l++){
                for(int j=l-i; j<=k; j++){

                    if(l<=right){
                        dp[l][j] = min(dp[l][j], dplast[l-1][j-(l-i)]-a[l]+a[i]);
                    }
                    dp[l][j] = min(dp[l][j], dp[l-1][j]);
                    ans=min(ans, dp[l][j]);

                }

            }
        }
        else{
            for(int l = right+1; l <=n; l++){
                for(int j=l-i; j<=k; j++){

                    dp[l][j] = min(dp[l][j], dplast[l-1][j-(l-i)]-a[i]+a[l]);
                    dp[l][j] = min(dp[l][j], dp[l-1][j]);
                    ans=min(ans, dp[l][j]);
                }
            }
        }
        swap(dplast, dp);


        for(int l=0; l<100+5; l++){
            for(int j=0; j<=k; j++){
                dp[l][j]=sum;
            }
        }
    }



    cout << ans;

}
# Verdict Execution time Memory Grader output
1 Correct 5 ms 8540 KB Output is correct
2 Correct 11 ms 8672 KB Output is correct
3 Correct 11 ms 8540 KB Output is correct
4 Correct 10 ms 8676 KB Output is correct
5 Correct 11 ms 8540 KB Output is correct
6 Correct 11 ms 8536 KB Output is correct
7 Correct 15 ms 8536 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 8540 KB Output is correct
2 Correct 11 ms 8672 KB Output is correct
3 Correct 11 ms 8540 KB Output is correct
4 Correct 10 ms 8676 KB Output is correct
5 Correct 11 ms 8540 KB Output is correct
6 Correct 11 ms 8536 KB Output is correct
7 Correct 15 ms 8536 KB Output is correct
8 Incorrect 37 ms 8540 KB Output isn't correct
9 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 5 ms 8540 KB Output is correct
2 Correct 11 ms 8672 KB Output is correct
3 Correct 11 ms 8540 KB Output is correct
4 Correct 10 ms 8676 KB Output is correct
5 Correct 11 ms 8540 KB Output is correct
6 Correct 11 ms 8536 KB Output is correct
7 Correct 15 ms 8536 KB Output is correct
8 Incorrect 37 ms 8540 KB Output isn't correct
9 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 5 ms 8540 KB Output is correct
2 Correct 11 ms 8672 KB Output is correct
3 Correct 11 ms 8540 KB Output is correct
4 Correct 10 ms 8676 KB Output is correct
5 Correct 11 ms 8540 KB Output is correct
6 Correct 11 ms 8536 KB Output is correct
7 Correct 15 ms 8536 KB Output is correct
8 Incorrect 37 ms 8540 KB Output isn't correct
9 Halted 0 ms 0 KB -