Submission #1015649

#TimeUsernameProblemLanguageResultExecution timeMemory
1015649MuhammetBoxes with souvenirs (IOI15_boxes)C++17
20 / 100
1 ms348 KiB
#include <bits/stdc++.h> #include "boxes.h" #define N 10005 #define ll long long #define ff first #define ss second using namespace std; ll p[N], s[N]; ll delivery(int n, int k1, int l1, int a[]) { sort(a,a+n); ll x = l1, k = k1; for(int i = 0; i < n; i++){ p[i+1] = a[i] + p[max(i-k+1,0ll)]; } for(int i = n-1; i >= 0; i--){ s[i+1] = (x-a[i]) + s[min(i+k+1,(ll)(n+1))]; } ll ans = LLONG_MAX; ll ind = x/2; vector <pair<ll,ll>> v; for(int i = 0; i <= n; i++){ ans = min(ans,2*(p[i] + s[i+1])); v.push_back({abs(ind-a[i]),i+1}); } sort(v.begin(), v.end()); ll l = n+1, r = 0; for(auto i : v){ l = min(l,i.ss-1); r = max(r,i.ss+1); ans = min(ans,2*(p[l] + s[r]) + ((r-l-2+k)/k)*x); } 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...