Submission #300265

#TimeUsernameProblemLanguageResultExecution timeMemory
300265marXComparing Plants (IOI20_plants)C++17
14 / 100
4061 ms6028 KiB
#include <vector> using namespace std; vector<int> xrank; void init(int k, vector<int> r) { int n = r.size(); xrank.resize(n); vector<bool> used(n); int remaining = n; int pos = n; for (int i = 0; i < n; ++i, --remaining) { vector<int> current; for (int i = 0; i < n; ++i) { if (used[i]) continue; if (r[i] == 0) current.push_back(i); } int start = 0; int max_diff = current[0] + n - current.back(); for (int i = 1; i < current.size(); ++i) { int cur_diff = current[i] - current[i - 1]; if (cur_diff > max_diff) { max_diff = cur_diff; start = i; } } if (current.empty()) break; int u = current[start]; used[u] = true; xrank[u] = pos--; for (int j = 1; j < k; ++j) { int t = (u - j + n) % n; r[t]--; // debug(t, u, r[t]); } // debug(i); // debug(current[start], current); // debug(used); // debug(r); } // debug(remaining); // if (remaining != 0) // fin("FAIL!!!"); } int compare_plants(int a, int b) { return xrank[a] > xrank[b] ? +1 : -1; }

Compilation message (stderr)

plants.cpp: In function 'void init(int, std::vector<int>)':
plants.cpp:32:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   32 |         for (int i = 1; i < current.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...