Submission #240953

#TimeUsernameProblemLanguageResultExecution timeMemory
240953tleontest1Boxes with souvenirs (IOI15_boxes)C++14
100 / 100
565 ms244548 KiB
#include "boxes.h" #pragma GCC optimize ("O3") #pragma GCC target ("sse4") #pragma GCC optimize ("unroll-loops") #pragma GCC target ("avx2") #include <bits/stdc++.h> using namespace std; typedef long long lo; typedef pair< lo,lo > PII; #define fi first #define se second #define mp make_pair #define endl "\n" #define pb push_back #define fio() ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL) #define FOR for(int i=1;i<=n;i++) #define mid ((start+end)/2) #define ort ((bas+son)/2) const lo inf = 1000000000000000000; const lo KOK = 100000; const lo LOG = 30; const lo li = 10000005; const lo mod = 1000000007; lo m,b[li],flag,t,b1[li]; lo cev; string s; multiset<lo> st,st1; long long delivery(int n, int k, int l, int a[]) { for(int i=0;i<n;i++){ if(i<k)b[i]=a[i]*2; else b[i]=a[i]*2+b[i-k]; } for(int i=n-1;i>=0;i--){ if(n-i-1<k)b1[i]=(l-a[i])*2; else b1[i]=(l-a[i])*2+b1[i+k]; cev+=b1[i]; } lo mn=inf; mn=min(mn,b[n-1]); mn=min(mn,b1[0]); for(int i=0;i<n-1;i++){ mn=min(mn,b[i]+b1[i+1]); } for(int i=0;i<n;i++){ lo at=l; if(i>0)at+=b[i-1]; if(i+k<n)at+=b1[i+k]; mn=min(mn,at); } //~ mn=min(mn,(lo)(n+k-1)/k*l); return mn; }
#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...