Submission #156815

#TimeUsernameProblemLanguageResultExecution timeMemory
156815popovicirobertMinerals (JOI19_minerals)C++14
25 / 100
12 ms824 KiB
#include "minerals.h" #include <bits/stdc++.h> using namespace std; void Solve(int n) { vector <int> sol(2 * n); vector <bool> in(2 * n); int i; for(int bit = 15; bit >= 0; bit--) { if((1 << bit) >= n) continue; int ans; for(i = 0; i < n; i++) { if(i & (1 << bit)) { if(in[i]) continue; ans = Query(i + 1); in[i] = 1; } } for(i = n; i < 2 * n; i++) { if(Query(i + 1) == ans) { sol[i] += (1 << bit); } Query(i + 1); } for(i = 0; i < n; i++) { if(bit == 0) continue; if(i & (1 << bit)) { if(i & (1 << (bit - 1))) continue; Query(i + 1); in[i] = 0; } } } vector <bool> vis(2 * n); for(i = n; i < 2 * n; i++) { if(vis[i] == 0) { vis[i] = vis[sol[i]] = 1; Answer(i + 1, sol[i] + 1); } } }

Compilation message (stderr)

minerals.cpp: In function 'void Solve(int)':
minerals.cpp:21:4: warning: 'ans' may be used uninitialized in this function [-Wmaybe-uninitialized]
    if(Query(i + 1) == ans) {
    ^~
#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...