Submission #847290

#TimeUsernameProblemLanguageResultExecution timeMemory
847290MinaRagy06The short shank; Redemption (BOI21_prison)C++17
15 / 100
2041 ms12908 KiB
#include <bits/stdc++.h>
using namespace std;
typedef int64_t ll;

int main() {
    ios_base::sync_with_stdio(0), cin.tie(0);
    int n, m, t;
    cin >> n >> m >> t;
    int a[n + 1];
    for (int i = 0; i < n; i++) {
        cin >> a[i];
    }
    m++;
    int dp[n + 1][m + 1];
    memset(dp, '?', sizeof dp);
    dp[n][0] = 0;
    for (int i = n - 1; i >= 0; i--) {
        for (int j = 1; j <= m; j++) {
            int cur = 1e9, cnt = 0;
            for (int k = i + 1; k <= n; k++) {
                cur = min(cur + 1, a[k - 1]);
                cnt += (cur <= t);
                dp[i][j] = min(dp[i][j], dp[k][j - 1] + cnt);
            }
        }
    }
    cout << dp[0][m] << '\n';
    return 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...