Submission #1331247

#TimeUsernameProblemLanguageResultExecution timeMemory
1331247orgiloogiiBoxes with souvenirs (IOI15_boxes)C++20
0 / 100
0 ms344 KiB
#include "boxes.h"
#include <bits/stdc++.h>
using namespace std;
int dp[10000001];
int dp1[10000001];
long long delivery(int n, int k, int l, int p[]) {
    for (int i = 0;i < n;i++) {
        if (i - k < 0) {
            dp[i] = p[i] + min(p[i], l - p[i]);//butsah, toiroh
        }
        else {
            dp[i] = dp[i - k] + p[i] + min(p[i], l - p[i]);
        }
    }
    for (int i = n - 1;i >= 0;i--) {
        if (i + k >= n) {
            dp1[i] = p[i] + min(p[i], l - p[i]);//butsah, toiroh
        }
        else {
            dp1[i] = dp1[i + k] + p[i] + min(p[i], l - p[i]);
        }
    }
    int ans = INT_MAX;
    for (int i = 0;i < n - 1;i++) {
        ans = min(ans, dp[i] + dp1[i + 1]);
    }
    ans = min({ans, dp1[0], dp[n - 1]});
    return 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...