제출 #1148880

#제출 시각아이디문제언어결과실행 시간메모리
1148880yeysoMinerals (JOI19_minerals)C++20
25 / 100
5 ms792 KiB
#include "minerals.h" #include <bits/stdc++.h> using namespace std; void Solve(int N) { int cur = 0; int prev = 0; int x = log2(2 * N) + 1; //cout << x << " "; vector<int> binary(N + 1, 0); for(int bit = 0; bit < x; bit ++){ for(int i = N + 1; i <= 2 * N; i ++){ /*if(i != 0){ // if we need to remove the bit if(i & (1 << (bit - 1)) && !(i & (1 << bit))){ Query(i + N + 1); } }*/ if(i & (1 << bit)){ prev = Query(i); //cout << 1 << " "; } else { //cout << 0 << " "; } } //cout << "\n"; for(int i = 1; i <= N; i ++){ cur = Query(i); if(cur == prev){ binary[i] += (1 << bit); } prev = Query(i); } for(int i = N + 1; i <= 2 * N; i ++){ if(i & (1 << bit)){ prev = Query(i); } } } for(int i = 1; i <= N; i ++){ //cout << binary[i] << " "; Answer(i, binary[i]); } } /* g++ -std=gnu++17 -O2 -o minerals grader.cpp minerals.cpp 10 1 17 2 14 3 12 4 19 5 13 6 15 7 11 8 16 9 18 10 20 7 3 14 1 12 5 11 7 13 4 10 2 16 6 15 10 1 17 2 14 3 12 4 19 5 13 6 15 7 11 8 16 9 18 10 20 */
#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...