Submission #129861

#TimeUsernameProblemLanguageResultExecution timeMemory
129861MoNsTeR_CuBeBoxes with souvenirs (IOI15_boxes)C++17
10 / 100
2 ms380 KiB
#include <bits/stdc++.h> #include "boxes.h" using namespace std; long long delivery(int N, int K, int L, int p[]) { #define int long long vector< int > left; int curr = K; int last = 0; int currCost = 0; for(int i = 0; i < N; i++){ left.push_back(min(L,2*(p[i]))); if(i - K >= 0){ left.back()+=left[i-K]; } } //left.push_back(L-last); /*cout << "LEFT "<< endl; for(int a : left) cout << a << ' '; cout << endl;*/ vector< int > right; curr = K; last = L; currCost = 0; for(int i = N-1; i >= 0; i--){ right.push_back(min(L, 2*(L-p[i]))); if(i+K < N){ right.back() += right[i-K]; } } //right.push_back(last + currCost); /*cout << "RIGHT " << endl; for(int a : right) cout << a << ' '; cout << endl;*/ //reverse(right.begin(), right.end()); int ans = min(right[N - 1], left[N-1]); for(int i = 0; i < N; i++){ if(N - 2 - i < 0) continue; //cout << "INDEX " << i << ' ' << left[i] << ' ' << right[N-2-i] << ' ' << min(p[i], L-p[i]) << ' ' << min(p[i+1], L-p[i+1]) << endl; //cout << p[N-2-i] << ' ' << L-p[N-2-i] << endl; ans = min(ans, left[i] + right[N - 2 - i]); } return ans; #undef int }

Compilation message (stderr)

boxes.cpp: In function 'long long int delivery(int, int, int, int*)':
boxes.cpp:10:6: warning: variable 'curr' set but not used [-Wunused-but-set-variable]
  int curr = K;
      ^~~~
boxes.cpp:12:6: warning: variable 'last' set but not used [-Wunused-but-set-variable]
  int last = 0;
      ^~~~
boxes.cpp:14:6: warning: variable 'currCost' set but not used [-Wunused-but-set-variable]
  int currCost = 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...