Submission #134703

#TimeUsernameProblemLanguageResultExecution timeMemory
134703BoxworldBoxes with souvenirs (IOI15_boxes)C++14
0 / 100
2 ms256 KiB
#include "boxes.h" #include <bits/stdc++.h> using namespace std; long long delivery(int N, int K, int L, int p[]){ int m=-1; long long ans=0; for (int i=0;i<N;i++) if (p[i]*2<L)m=i; for (int i=m;i>=0;i-=K)ans+=p[i]*2; for (int i=m+1;i<N;i+=K)ans+=(L-p[i])*2; if (m==-1||m==N-1)return ans; int r=m,l=m+1; for (int j=0;j*K<=N;j++){ long long ans1=j*L; for (int i=0;i<K;i++){ if (r!=0&&p[r]>L-p[l])r--; else if (l<N)l++;else r--; } for (int i=r;i>=0;i-=K)ans1+=p[i]*2; for (int i=l;i<N;i+=K)ans1+=(L-p[i])*2; ans=min(ans,ans1); } return ans; }

Compilation message (stderr)

boxes.cpp: In function 'long long int delivery(int, int, int, int*)':
boxes.cpp:7:5: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
     for (int i=0;i<N;i++)
     ^~~
boxes.cpp:9:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
  for (int i=m;i>=0;i-=K)ans+=p[i]*2;
  ^~~
#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...