제출 #777471

#제출 시각아이디문제언어결과실행 시간메모리
777471boris_mihov선물상자 (IOI15_boxes)C++17
10 / 100
1 ms308 KiB
#include "boxes.h" #include <algorithm> #include <iostream> #include <numeric> #include <cassert> #include <vector> typedef long long llong; const int MAXN = 10000000 + 10; const llong INF = 1e18; int n, k, l; std::vector <int> left; std::vector <int> right; llong delivery(int N, int K, int L, int p[]) { n = N; k = K; l = L; for (int i = 0 ; i < n ; ++i) { left.push_back(p[i]); } llong ans = INF; llong curr = 0; for (int i = 0 ; i < left.size() ; i += k) { if (i + k - 1 < left.size()) { curr += left[i + k - 1] * 2; } else { curr += left.back() * 2; } } ans = curr; for (int currTry = 0 ; currTry < n ; ++currTry) { if (right.size() && right.size() % k != k - 1) { curr -= 2 * right.back(); } right.push_back(l - left.back()); curr += 2 * right.back(); curr -= 2 * left.back(); left.pop_back(); if (left.size() % k != 0) { curr += 2 * left.back(); } ans = std::min(ans, curr); } return ans; }

컴파일 시 표준 에러 (stderr) 메시지

boxes.cpp: In function 'llong delivery(int, int, int, int*)':
boxes.cpp:30:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   30 |     for (int i = 0 ; i < left.size() ; i += k)
      |                      ~~^~~~~~~~~~~~~
boxes.cpp:32:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   32 |         if (i + k - 1 < left.size())
      |             ~~~~~~~~~~^~~~~~~~~~~~~
boxes.cpp:44:46: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   44 |         if (right.size() && right.size() % k != k - 1)
      |                             ~~~~~~~~~~~~~~~~~^~~~~~~~
#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...