Submission #127264

#TimeUsernameProblemLanguageResultExecution timeMemory
127264ekremBoxes with souvenirs (IOI15_boxes)C++98
10 / 100
3 ms380 KiB
#include "boxes.h" #include <bits/stdc++.h> #define st first #define nd second #define mp make_pair #define pb push_back #define sol (k+k) #define sag (k+k+1) #define orta ((bas+son)/2) #define coc g[node][i] #define mod 1000000007 #define inf 1000000009 #define N 1000005 using namespace std; typedef long long ll; typedef pair < int , int > ii; ll k, l, cvp, ans, bas[N], son[N]; ll ansver(int i, int j){ return ((i>=0)?bas[i]:0ll) + son[j] + 1ll*(j - i - 1 + k - 1)/k*l; } ll delivery(int n, int kk, int ll, int p[]) {k = kk;l = ll; for(int i = 0; i < n; i++) bas[i] = (i - k >= 0) ? bas[i - k] + p[i]*2ll : p[i]*2ll; for(int i = n - 1; i >= 0; i--) son[i] = (n > k + i) ? son[i + k] + (l - p[i])*2ll : (l - p[i])*2ll; ans = son[0]; for(int i = -1; i < n; i++){ cvp = son[0]; int opt = 0; int bas = i + 1, son = n; while(bas < son){ if(ansver(i, orta) < ansver(i, orta + 1)) son = orta; else bas = orta + 1; } // for(int j = i + 1; j <= n; j++){ // if(((i>=0)?bas[i]:0ll) + son[j] + 1ll*(j - i - 1 + k - 1)/k*l <= cvp){ // cvp = ((i>=0)?bas[i]:0ll) + son[j] + 1ll*(j - i - 1 + k - 1)/k*l; // opt = j; // } // } // cout << i << " " << opt << " " << cvp << endl; ans = min(ans, ansver(i, orta)); } return ans; }

Compilation message (stderr)

boxes.cpp: In function 'll delivery(int, int, int, int*)':
boxes.cpp:25:43: warning: declaration of 'll' shadows a global declaration [-Wshadow]
 ll delivery(int n, int kk, int ll, int p[]) {k = kk;l = ll;
                                           ^
boxes.cpp:16:19: note: shadowed declaration is here
 typedef long long ll;
                   ^~
boxes.cpp:33:7: warning: declaration of 'bas' shadows a global declaration [-Wshadow]
   int bas = i + 1, son = n;
       ^~~
boxes.cpp:19:20: note: shadowed declaration is here
 ll k, l, cvp, ans, bas[N], son[N];
                    ^~~
boxes.cpp:33:20: warning: declaration of 'son' shadows a global declaration [-Wshadow]
   int bas = i + 1, son = n;
                    ^~~
boxes.cpp:19:28: note: shadowed declaration is here
 ll k, l, cvp, ans, bas[N], son[N];
                            ^~~
boxes.cpp:32:21: warning: unused variable 'opt' [-Wunused-variable]
   cvp = son[0]; int opt = 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...