Submission #935668

#TimeUsernameProblemLanguageResultExecution timeMemory
935668zhasynBoxes with souvenirs (IOI15_boxes)C++14
10 / 100
1 ms600 KiB
#include <bits/stdc++.h> #define pb push_back #define pf push_front using namespace std; #define F first #define S second mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); typedef long long ll; #define pii pair <int, int> #define pll pair <ll, ll> typedef long double ld; const ll N = 3 * 1e5 + 10, M = 5000 + 10, inf = 1e18; const ll mod = 998244353; ll um(ll a, ll b){ return (1LL * a * b) % mod; } ll subr(ll a, ll b){ return ((1LL * a - b) % mod + mod) % mod; } ll ans; ll delivery(int n, int k, int l, int pos[]){ int mid1 = l/2, mid2 = (l + 1)/2; if(k == 1){ for(int i = 0; i < n; i++){ if(pos[i] <= mid1) ans += pos[i] * 2; else ans += (l - pos[i]) * 2; } } else{ int mx = 0, mn = l; for(int i = 0; i < n; i++){ if(pos[i] <= mid1) mx = pos[i]; if(pos[i] >= mid2) mn = min(pos[i], l); } ans = min(min(l, (l - pos[0]) * 2), min((l - (l - pos[n - 1])) * 2, mx * 2 + (l - mn) * 2)); } return ans; } // int main() { // ios::sync_with_stdio(false); // cin.tie(NULL); // //freopen("max.in", "r", stdin); // //freopen("max.out", "w", stdout); // int n, k, l; // cin >> n >> k >> l; // int pos[n]; // for(int i = 0; i < n; i++){ // cin >> pos[i]; // } // cout << delivery(n, k, l, pos); // return 0; // }
#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...