제출 #1158294

#제출 시각아이디문제언어결과실행 시간메모리
1158294lopkusSuper Dango Maker (JOI22_dango3)C++20
0 / 100
16 ms620 KiB
#include "dango3.h" #include <bits/stdc++.h> using namespace std; void Solve(int N, int M) { vector<int> current; for(int i = 1; i <= N * M; i++) { current.push_back(i); } vector<int> have; int cnt = 0; int mx = 0; while(current.size() > 0) { vector<int> have_to_ask; int ptr = current.size() - 1; int upd = mx + 1; while(have.size() < N) { int ps = - 1; for(int j = 0; j < current.size(); j++) { if(current[j] >= upd) { ps = j; break; } } int l = ps, r = ptr, p = - 1; while(l <= r) { int mid = (l + r) / 2; vector<int> ask; for(auto x : have_to_ask) { ask.push_back(x); } for(int i = 0; i <= mid; i++) { ask.push_back(current[i]); } if(Query(ask) >= 1) { r = mid - 1; p = mid; } else { l = mid + 1; } } have.push_back(current[p]); have_to_ask.push_back(current[p]); current.erase(current.begin() + p); mx = max(mx, current[p]); ptr = p - 1; } Answer(have); have.clear(); } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...