제출 #125608

#제출 시각아이디문제언어결과실행 시간메모리
125608SOIVIEONE선물상자 (IOI15_boxes)C++14
0 / 100
2045 ms2196 KiB
#include <bits/stdc++.h> #include "boxes.h" //#include <ext/pb_ds/assoc_container.hpp> #define INF 1000000021 #define MOD 1000000007 #define pb push_back #define sqr(a) (a)*(a) #define M(a, b) make_pair(a,b) #define T(a, b, c) make_pair(a, make_pair(b, c)) #define F first #define S second #define all(x) (x.begin(), x.end()) #define deb(x) cerr << #x << " = " << x << '\n' using namespace std; //using namespace __gnu_pbds; typedef long double ld; typedef long long ll; typedef pair<int,int> pii; typedef pair<ll, ll> pll; typedef vector<int> vi; typedef vector<ll> vll; //typedef tree<int, null_type, less<int>, rb_tree_tag, tree_order_statistics_node_update> indexed_set; const ld pi = 2 * acos(0.0); template<class T> bool umin(T& a, T b){if(a>b){a=b;return 1;}return 0;} template<class T> bool umax(T& a, T b){if(a<b){a=b;return 1;}return 0;} template<class T, class TT> bool pal(T a, TT n){int k=0;for(int i=0;i<=n/2;i++){if(a[i]!=a[n-i-1]){k=1;break;}}return k?0:1;} long long delivery(int N, int K, int L, int p[]) { int n = N; sort (p, p + n); ll l = L*1ll, ans = 1e16; do { ll k = K, cur = 0, res = 0; for(int i = 0; i < n; i ++) { ll foo = 0, hoo = 0; if(cur == 0) k = K; if(!k) { foo = cur; hoo = L - cur; res += min(foo, hoo); cur = 0; k = K; } if(cur <= p[i]) { foo = p[i] - cur; hoo = cur + l - p[i]; if(hoo <= foo) { res += hoo; k = K-1; } else res += foo, k--; } else { foo = cur - p[i]; hoo = l - cur + p[i]; if(hoo <= foo) { res += hoo; k = K - 1; } else { res += foo; k --; } } cur = p[i]; } ll foo = cur, hoo = L - cur; res += min(foo, hoo); deb(res); umin(ans, res); }while(next_permutation(p, p + n)); 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...