Submission #176022

#TimeUsernameProblemLanguageResultExecution timeMemory
176022Peacher29선물상자 (IOI15_boxes)C++14
20 / 100
2 ms380 KiB
#include "boxes.h" #include<bits/stdc++.h> using namespace std; class pont{ public: int elotte; int utana; int hely; long long vissza; long long elolrol; long long hatulrol; }; vector<pont> p; long long delivery(int n, int k, int l, int in[]) { p.resize(n+1); for(int i=0;i<=n;i++){ p[i].elotte = (i-1+n+1)%(n+1); p[i].utana = (i+1)%(n+1); } p[0].hely=0; for(int i=1;i<=n;i++){ p[i].hely=in[i-1]; } long long eddig=0; for(int i=1;i<=n;i++){ p[i].vissza= min ( p[i].hely, l-p[i].hely ); //cout << i << ':' << p[i].vissza << '\t'; /*if((i-1)%k==0){ eddig+=p[i].hely+p[i].vissza; p[i].elolrol=eddig; } else { eddig+=p[i].hely-p[p[i].elotte].hely; p[i].elolrol=eddig+p[i].vissza; } cout << i << ' ' << p[i].elolrol << '\n';*/ if(i%k==0){ eddig+=p[i].hely-p[p[i].elotte].hely+p[i].vissza; p[i].elolrol=eddig; } else if(i%k==1){ eddig+=p[i].hely; p[i].elolrol=eddig+p[i].vissza; } else { eddig+=p[i].hely-p[p[i].elotte].hely; p[i].elolrol=eddig+p[i].vissza; } //cout << i << ' ' << (i)%k << ' ' << eddig << ' ' << p[i].elolrol << '\n'; } if(k==1){ long long ossz=0; for(int i=1;i<=n;i++){ ossz+=p[i].vissza; } return ossz*2; } eddig=0; p[0].hely=l; for(int i=n;i>0;i--){ if((n-i+1+k)%k==0){ eddig+=p[p[i].utana].hely-p[i].hely+p[i].vissza; p[i].hatulrol=eddig; } else if((n-i+1+k)%k==1){ eddig+=l-p[i].hely; p[i].hatulrol=eddig+p[i].vissza; } else { eddig+=p[p[i].utana].hely-p[i].hely; p[i].hatulrol=eddig+p[i].vissza; } //cout << i << ' ' << (n-i+1+k)%k << ' ' << eddig << ' ' << p[i].hatulrol << '\n'; } long long mn= LLONG_MAX; for(int i=0;i<=n;i++){ mn = min(p[i].elolrol+p[p[i].utana].hatulrol,mn); } 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...