Submission #344943

#TimeUsernameProblemLanguageResultExecution timeMemory
344943ogibogi2004Boxes with souvenirs (IOI15_boxes)C++14
10 / 100
1 ms364 KiB
#include "boxes.h" #include <bits/stdc++.h> using namespace std; #define ll long long ll ans=2e17; long long delivery(int N, int K, int L, int p[]) { vector<ll>xd; for(ll i=0;i<N;i++)xd.push_back(p[i]); ll l=0,r=N-1,k=K,n=N,of=L,s,sl=0,sr=0; for(ll i=n-1;i>min(k-1,n-1);i--) { if((n-1-i)%k==0||i-1<=min(k-1,n-1)) { sr+=(of-xd[i])*2; } } for(ll i=0;i<n+1;i++) { ll i2=min(i+k-1,n-1);s=0; if(i2>=i) { s+=of; } ans=min(ans,sl+sr+s); //cout<<i<<":"<<sl<<" "<<sr<<" "<<s<<endl; if(i%k==0) { sl+=xd[i]*2; } else { sl-=xd[i-1]*2; sl+=xd[i]*2; } if(i+k<n) { sr-=(of-xd[i+k])*2; if((n-(i+k))%k!=0&&i+k+1<n) { sr+=(of-xd[i+k+1])*2; } } } sl=0;sr=0; for(ll i=n-1;i>=0;i--) { if((n-1-i)%k==0||i==0) { sr+=(of-xd[i])*2; } } //cout<<sl<<" "<<sr<<endl; ans=min(ans,sr); for(ll i=0;i<n;i++) { if(i%k==0)sl+=xd[i]*2; else sl+=(xd[i]-xd[i-1])*2; sr-=(of-xd[i])*2; if(i+1<n) { if(((n-1)-(i+1))%k!=0) { sr+=(of-xd[i+1])*2; } } //cout<<i<<" "<<sl<<" "<<sr<<endl; ans=min(ans,sl+sr); } return ans; }

Compilation message (stderr)

boxes.cpp: In function 'long long int delivery(int, int, int, int*)':
boxes.cpp:10:5: warning: unused variable 'l' [-Wunused-variable]
   10 |  ll l=0,r=N-1,k=K,n=N,of=L,s,sl=0,sr=0;
      |     ^
boxes.cpp:10:9: warning: unused variable 'r' [-Wunused-variable]
   10 |  ll l=0,r=N-1,k=K,n=N,of=L,s,sl=0,sr=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...