제출 #1256226

#제출 시각아이디문제언어결과실행 시간메모리
1256226biankBoxes with souvenirs (IOI15_boxes)C++20
100 / 100
386 ms196100 KiB
#include <bits/stdc++.h> using namespace std; #define forn(i, n) for (int i = 0; i < int(n); i++) #define forsn(i, s, n) for (int i = int(s); i < int(n); i++) #define dforn(i, n) for (int i = int(n) - 1; i >= 0; i--) #define dforsn(i, s, n) for (int i = int(n) - 1; i >= int(s); i--) using vi = vector<int>; using ll = long long; using ii = pair<int, int>; #define fst first #define snd second #define all(x) begin(x), end(x) #define sz(x) int(x.size()) #define pb push_back #define eb emplace_back const ll INF = 6e18; ll delivery(int N, int K, int L, int p[]) { vector<ll> pref(N + 1); forn(i, N) { pref[i + 1] = pref[max(0, i + 1 - K)] + 2LL * p[i]; } vector<ll> suff(N + 1); dforn(i, N) { suff[i] = suff[min(i + K, N)] + 2LL * (L - p[i]); } ll ret = INF; forn(t, 2) forn(i, N + 1) { ret = min(ret, pref[i] + 1LL * t * L + suff[min((ll) N, i + 1LL * t * K)]); } return ret; }
#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...