# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
996911 | TgX_2 | 선물상자 (IOI15_boxes) | C++17 | 0 ms | 0 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
/*-----------------------------
Author : TgX.2
11Ti - K28 - CHV
-----------------------------*/
#ifndef TGX
#include "boxes.h"
#endif // !TGX
#include <bits/stdc++.h>
using namespace std;
#define FOR(i,a,b) for(int i=(a), _b=(b);i<=_b;++i)
#define FORD(i,a,b) for(int i=(a), _b=(b);i>=_b;--i)
#define FORC(i,a,b,c) for(int i=(a), _b=(b), _c=(c);i<=_b;i+=_c)
#define FORSq(i,a,b) for(int i=(a), _b=(b);i*i<=_b;++i)
#define FORSt(i,s) for(int i=0, _s=(int)(s.size());i<_s;++i)
#define fi first
#define se second
#define pb push_back
#define mp make_pair
#define ers erase
#define ins insert
#define rvs reverse
#define len(x) (int)((x).size())
#define all(x) (x).begin(), (x).end()
#define alln(x,n) (x)+1, (x)+1+(n)
#define _ <<" "<<
#define __ << "\n"
#define ___ << " "
#define int long long
#define intmax 1e9
#define intmin -1e9
#define llongmax 1e18
#define llongmin -1e18
#define memo(a, val) memset((a), (val), sizeof((a)))
template<typename T1, typename T2> bool mini(T1 &a, T2 b)
{if(a>b) a=b; else return 0; return 1;}
template<typename T1, typename T2> bool maxi(T1 &a, T2 b)
{if(a<b) a=b; else return 0; return 1;}
const int maxn = 1e7 + 7;
int b[maxn], c[maxn];
int delivery(int n, int k, int l, int a[]) {
// sort(alln(a, n));
FOR(i, 1, n) {
b[i] = min(l, a[i - 1] * 2);
if (i > k)
b[i] += b[i - k];
}
int ans = b[n];
FORD(i, n, i) {
c[i] = min(l, (l - a[i - 1]) * 2);
if (i + k <= n)
c[i] += c[i + k];
mini(ans, b[i - 1] + c[i]);
}
// FOR(i, 1, n)
// cout << b[i] ___ ;
// cout __ ;
// FOR(i, 1, n)
// cout << c[i] ___ ;
// cout __ ;
return ans;
}