Submission #704925

#TimeUsernameProblemLanguageResultExecution timeMemory
704925piOOESuper Dango Maker (JOI22_dango3)C++17
22 / 100
1719 ms1024 KiB
#include "dango3.h" #include <bits/stdc++.h> using namespace std; mt19937 rnd(228); void Solve(int n, int m) { const int N = n * m; vector<int> ord(N); iota(ord.begin(), ord.end(), 1); shuffle(ord.begin(), ord.end(), rnd); set<int> st; set<int> left; for (int x : ord) { left.insert(x); } for (int x : ord) { if (left.size() == n) { Answer(vector(left.begin(), left.end())); break; } st.insert(x); if (Query(vector(st.begin(), st.end())) == 1) { vector<int> stick{x}; vector<int> consider(st.begin(), st.end()); consider.erase(find(consider.begin(), consider.end(), x)); set<int> save; for (int y : consider) { st.erase(y); if (stick.size() < n && Query(vector(st.begin(), st.end())) == 0) { stick.push_back(y); st.insert(y); } else { save.insert(y); } } Answer(stick); for (int y : stick) { left.erase(y); } swap(st, save); } } }

Compilation message (stderr)

dango3.cpp: In function 'void Solve(int, int)':
dango3.cpp:26:25: warning: comparison of integer expressions of different signedness: 'std::set<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   26 |         if (left.size() == n) {
      |             ~~~~~~~~~~~~^~~~
dango3.cpp:43:34: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   43 |                 if (stick.size() < n && Query(vector(st.begin(), st.end())) == 0) {
      |                     ~~~~~~~~~~~~~^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...