Submission #17274

#TimeUsernameProblemLanguageResultExecution timeMemory
17274erdemkiraz선물상자 (IOI15_boxes)C++98
100 / 100
565 ms171548 KiB
#include <bits/stdc++.h> using namespace std; #define type(x) __typeof((x).begin()) #define foreach(it, x) for(type(x) it = (x).begin(); it != (x).end(); it++) typedef long long ll; typedef pair < int, int > ii; const int inf = 1e9 + 333; const ll linf = 1e18 + inf; #include "boxes.h" vector < ll > l, r; long long delivery(int N, int k, int L, int p[]) { for(int i = 0; i < N; i++) { if(p[i] <= L / 2) l.push_back(p[i] * 2); else r.push_back(L * 2 - p[i] * 2); } reverse(r.begin(), r.end()); for(int i = k; i < l.size(); i++) l[i] = l[i - k] + l[i]; for(int i = k; i < r.size(); i++) r[i] = r[i - k] + r[i]; ll ans = linf; for(int i = 0; i <= k; i++) { int x = i; int y = k - i; ans = min(ans, (x < l.size() ? l[l.size() - 1 - x] : 0) + (y < r.size() ? r[r.size() - 1 - y] : 0) + L); } return min(ans, (l.size() ? l.back() : 0) + (r.size() ? r.back() : 0)); }

Compilation message (stderr)

boxes.cpp: In function 'long long int delivery(int, int, int, int*)':
boxes.cpp:25:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i = k; i < l.size(); i++)
                 ~~^~~~~~~~~~
boxes.cpp:27:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i = k; i < r.size(); i++)
                 ~~^~~~~~~~~~
boxes.cpp:33:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   ans = min(ans, (x < l.size() ? l[l.size() - 1 - x] : 0) + (y < r.size() ?  r[r.size() - 1 - y] : 0) + L);
                   ~~^~~~~~~~~~
boxes.cpp:33:64: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   ans = min(ans, (x < l.size() ? l[l.size() - 1 - x] : 0) + (y < r.size() ?  r[r.size() - 1 - y] : 0) + L);
                                                              ~~^~~~~~~~~~
#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...