Submission #1050049

#TimeUsernameProblemLanguageResultExecution timeMemory
1050049aykhnComparing Plants (IOI20_plants)C++17
0 / 100
29 ms3152 KiB
#include "plants.h" #include <bits/stdc++.h> using namespace std; const int MXN = 5e3 + 5; int n; int a[MXN], cnt[MXN], f[MXN]; void init(int k, vector<int> r) { n = r.size(); for (int i = 0; i < n; i++) cnt[i] = k - 1; int cur = -1; while (cur < n) { vector<int> idx; for (int i = 0; i < n; i++) { if (f[i]) continue; if (r[i] == cnt[i]) idx.push_back(i); } if (idx.empty()) break; int ind = -1; if (idx.size() == 1) ind = 0; else { for (int i = 0; i < idx.size(); i++) { if ((idx[(i + 1) % (int)idx.size()] - idx[i] + n) % n >= k) { ind = (i + 1) % (int)idx.size(); break; } } } for (int i = ind; 1;) { a[idx[i]] = ++cur; f[idx[i]] = 1; i = (i + 1) % (int)idx.size(); if (i == ind) break; } for (int k = 0; k < idx.size(); k++) { int ind = idx[k]; for (int j = (ind - 1 + n) % n; j != (ind - k + n) % n; j = (j - 1 + n) % n) cnt[j]--; } } } int compare_plants(int x, int y) { return (a[x] > a[y] ? 1 : -1); }

Compilation message (stderr)

plants.cpp: In function 'void init(int, std::vector<int>)':
plants.cpp:29:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   29 |    for (int i = 0; i < idx.size(); i++)
      |                    ~~^~~~~~~~~~~~
plants.cpp:45:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   45 |   for (int k = 0; k < idx.size(); k++)
      |                   ~~^~~~~~~~~~~~
#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...