# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
792826 | 2023-07-25T09:12:15 Z | beaconmc | Minerals (JOI19_minerals) | C++14 | 3 ms | 632 KB |
#include "minerals.h" #include <bits/stdc++.h> typedef long long ll; #define FOR(i, x, y) for(ll i=x; i<y; i++) #define FORNEG(i, x, y) for(ll i=x; i>y; i--) #define fast() ios_base::sync_with_stdio(false);cin.tie(NULL) std::set<ll> machine; int query(int a){ if (machine.count(a)){ machine.erase(a); }else{ machine.insert(a); } return Query(a); } void solve(int N, std::vector<std::vector<ll>> top, std::vector<std::vector<ll>> bot) { using namespace std; cout << N << endl; cout << endl; ll sus = 0; while (!(top.size() == bot.size() && bot.size() == N)){ sus++; vector<vector<ll>> temp; for (auto&i : bot){ if (i.size() == 1){ temp.push_back(i); continue; } vector<ll> temp2; FOR(j,0,i.size()/2){ temp2.push_back(i[j]); } temp.push_back(temp2); temp2.clear(); FOR(j, i.size()/2, i.size()){ temp2.push_back(i[j]); } temp.push_back(temp2); } bot = temp; temp.clear(); ll ind = 0; FOR(i,0,top.size()){ ll tempflag = -1; if (top[i].size() == 1){ ind += 1; temp.push_back(top[i]); continue; } vector<ll> first; vector<ll> second; ll curval = 0; if (sus%2 == 0){ if (machine.count(bot[ind][0])) tempflag = (sus + 1)%2; else tempflag = sus; }else{ if (machine.count(bot[ind][0])) tempflag = sus; else tempflag = (sus+1)%2; } for (auto&j : bot[ind]){ curval = query(j); } for (auto&j : top[i]){ ll result = query(j); if (result != curval){ curval = result; first.push_back(j); }else{ second.push_back(j); } } if (tempflag%2==1){ temp.push_back(first); temp.push_back(second); } else{ temp.push_back(second); temp.push_back(first); } ind += 2; } top = temp; } FOR(i,0,N){ Answer((int) top[i][0],(int) bot[i][0]); } } void Solve(int N) { using namespace std; vector<vector<ll>> top; vector<vector<ll>> bot; top.push_back({}); bot.push_back({}); ll cur = 0; FOR(i,1, 2*N+1){ ll result = query(i); if (result == cur + 1){ cur++; top[0].push_back(i); }else{ bot[0].push_back(i); } if (top[0].size() == bot[0].size()){ solve(top[0].size(), top, bot); top = {{}}; bot = {{}}; } } }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 208 KB | DO NOT PRINT ANYTHING TO STANDARD OUTPUT |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Runtime error | 3 ms | 632 KB | Execution killed with signal 13 |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 208 KB | DO NOT PRINT ANYTHING TO STANDARD OUTPUT |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 208 KB | DO NOT PRINT ANYTHING TO STANDARD OUTPUT |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 208 KB | DO NOT PRINT ANYTHING TO STANDARD OUTPUT |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 208 KB | DO NOT PRINT ANYTHING TO STANDARD OUTPUT |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 208 KB | DO NOT PRINT ANYTHING TO STANDARD OUTPUT |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 208 KB | DO NOT PRINT ANYTHING TO STANDARD OUTPUT |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 208 KB | DO NOT PRINT ANYTHING TO STANDARD OUTPUT |
2 | Halted | 0 ms | 0 KB | - |