제출 #523161

#제출 시각아이디문제언어결과실행 시간메모리
523161valerikkMinerals (JOI19_minerals)C++17
40 / 100
21 ms1724 KiB
#include "minerals.h" #include <iostream> #include <vector> #include <algorithm> #include <cassert> using namespace std; void Solve(int N) { vector<int> l, r; int kek = 0; for (int i = 1; i <= 2 * N; ++i) { int cur = Query(i); if (kek != cur) { l.push_back(i); kek = cur; } else { Query(i); r.push_back(i); } } for (int i : l) { Query(i); } vector<int> sum(N); for (int bit = 0; (1 << bit) < N; ++bit) { for (int i = 0; i < N; ++i) { if ((i >> bit) & 1) { Query(l[i]); } } for (int i = 0; i < N; ++i) { kek = Query(r[i]); if (kek == Query(r[i])) { sum[i] += (1 << bit); } } for (int i = 0; i < N; ++i) { if ((i >> bit) & 1) { Query(l[i]); } } } // for (int i = 0; i < N; ++i) { // cout << l[sum[i]] << " " << r[i] << endl; // } for (int i = 0; i < N; ++i) { Answer(l[sum[i]], r[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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...