제출 #823913

#제출 시각아이디문제언어결과실행 시간메모리
823913thimote75Comparing Plants (IOI20_plants)C++14
0 / 100
1 ms468 KiB
#include "plants.h" #include <bits/stdc++.h> using namespace std; using idata = vector<int>; void shift (idata &r, int count) { idata h; for (int i = count; i < r.size(); i ++) h.push_back(r[i]); for (int i = 0; i < count; i ++) h.push_back(r[i]); r.swap(h); } idata A; void init(int k, idata r) { int n = r.size(); assert(n < 2 * k); int p0 = - 1; for (int i = 0; i < n; i ++) { if (r[i] == 0) { assert(p0 == -1); p0 = i; } } shift(r, p0 + 1); A.resize(n); for (int v = n - 1; v >= 0; v --) { int p = 0; int m = 1e9; for (int i = 0; i < n; i ++) { if (r[i] >= m) continue ; p = i; m = r[i]; } r[p] = 1e9; for (int g = p - 1; g >= 0 && g > p - k; g --) r[g] --; A[(p + p0 + 1) % n] = v; } return; } int compare_plants(int x, int y) { int del = A[x] - A[y]; if (del == 0) return 0; return del / abs(del); }

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

plants.cpp: In function 'void shift(idata&, int)':
plants.cpp:10:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   10 |  for (int i = count; i < r.size(); i ++)
      |                      ~~^~~~~~~~~~
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...