Submission #759428

#TimeUsernameProblemLanguageResultExecution timeMemory
759428raysh07Boxes with souvenirs (IOI15_boxes)C++17
0 / 100
1 ms212 KiB
#include "boxes.h"
#include <bits/stdc++.h>
using namespace std;

long long delivery(int N, int K, int L, int a[]) {
    long long ans = 0;
    int n = N;
    int k = K;
    int l = 0, r = n - 1;
    
    while((r - l + 1) >= k){
        int mx = 0;
        for (int i = l; i < l + k; i++) mx = max(mx, a[i]);
        
        if (mx > (L - 1) / 2) break;
        ans += 2 * mx;
        l += k;
    }
    
    while ((r - l + 1) >= k){
        int mn = 1e9;
        for (int i = r; i > r - k; i--) mn = min(mn, a[i]);
        
        if (mn <= (L - 1) / 2) break;
        ans += 2 * (L - mn);
        r -= k;
    }
    
    if ((r - l + 1) <= k) ans += L;
    else ans += 2 * L;
    
    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...