Submission #1072823

#TimeUsernameProblemLanguageResultExecution timeMemory
1072823CyanberryMinerals (JOI19_minerals)C++14
0 / 100
1 ms344 KiB
#include <bits/stdc++.h> using namespace std; #include "minerals.h" void Solve(int types) { bool side[types * 2]; int sT[types], sF[types], relT[types], relF[types], match[types * 2], limits[types * 2]; for (int i=0; i<types * 2; ++i) { side[i] = false; match[i] = 0; } int last = 0, sTc = 0, sFc = 0; for (int i=0; i<types * 2; ++i) { int curr = Query(i+1); if (curr > last) { ++last; sT[sTc] = i+1; ++sTc; side[i] = true; } else { sF[sFc] = i+1; ++sFc; limits[i] = sTc; } } bool inside[types]; for (int i = 0; i < types; ++i) { inside[i] = true; } for (int i = log2(types); i >= 0; --i) { // for (int i : match) { // cerr<<i<<' '; // } // cerr<<'\n'; for (int j = 1; j <= types; ++j) { if (((j & (1<<i)) > 0) == inside[j]) { last = Query(sT[j]); inside[j] = !inside[j]; } } for (int j =0; j < types; ++j) { if (j > limits[sF[j]-1]) continue; int curr = Query(sF[j]); if (curr != last) { match[sF[j]-1] |= (1<<i); last = curr; } } } for (int i = 0; i < types * 2; ++i) { if (!side[i]) { Answer(i+1, sT[match[i]]); } } }

Compilation message (stderr)

minerals.cpp: In function 'void Solve(int)':
minerals.cpp:6:31: warning: unused variable 'relT' [-Wunused-variable]
    6 |     int sT[types], sF[types], relT[types], relF[types], match[types * 2], limits[types * 2];
      |                               ^~~~
minerals.cpp:6:44: warning: unused variable 'relF' [-Wunused-variable]
    6 |     int sT[types], sF[types], relT[types], relF[types], match[types * 2], limits[types * 2];
      |                                            ^~~~
#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...