This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "boxes.h"
#include<bits/stdc++.h>
#pragma comment(linker, "/stack:200000000")
#pragma GCC optimize("Ofast")
#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
using namespace std;
long long delivery(int n, int k, int l, int p[]) {
long long dp1[n+1],dp2[n+1];
long long jaw=LLONG_MAX;
dp1[0]=0;
dp2[0]=0;
// sort(p,p+n);
for(int i=0; i<n; i++){
int x=i-k+1;
int y=n-i-1;
if(x<0){
int y=n-i-1;
dp1[i+1]=p[i]+min(p[i],l-p[i]);
dp2[i+1]=l-p[y]+min(p[y],l-p[y]);
}else {
dp1[i+1]=dp1[x]+p[i]+min(p[i],l-p[i]);
dp2[i+1]=dp2[x]+l-p[y]+min(p[y],l-p[y]);
}
//cout<<dp1[i+1]<<' '<<dp2[i+1]<<endl;
}
long long bef=1e18;
int cnt=0;
for(int i=0; i<=n; i++){
jaw=min(jaw,dp1[i]+dp2[n-i]);
if(jaw<bef) {
bef=jaw;
cnt=0;
}else {
cnt++;
if(cnt>600000) break;
}
}
return jaw;
}
Compilation message (stderr)
boxes.cpp:3:0: warning: ignoring #pragma comment [-Wunknown-pragmas]
#pragma comment(linker, "/stack:200000000")
boxes.cpp: In function 'long long int delivery(int, int, int, int*)':
boxes.cpp:18:11: warning: declaration of 'y' shadows a previous local [-Wshadow]
int y=n-i-1;
^
boxes.cpp:16:7: note: shadowed declaration is here
int y=n-i-1;
^
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |