Submission #815857

#TimeUsernameProblemLanguageResultExecution timeMemory
815857yeysoMinerals (JOI19_minerals)C++14
0 / 100
2 ms336 KiB
#include "minerals.h" #include <bits/stdc++.h> using namespace std; void Solve(int N) { int a = 0; int b = 0; //vector<vector<int>> res(2 * N + 1, vector<int>(15, 0)); vector<int> res(2 * N + 1, 1); for(int k = 1; k <= 14; k ++){ for(int i = 1; i <= 2 * N; i ++){ if(i & (1 << k) and not i & (1 << (k - 1))){ a = Query(i); } if(not i & (1 << k) and i & (1 << (k - 1))){ a = Query(i); } } for(int i = 1; i <= 2 * N; i ++){ b = Query(i); if(a == b){ // Then b is paired with something where the kth bit is 1 //res[a][k] = 1; res[i] += (1 << k); } b = Query(i); } /*for(int i = 1; i <= 2 * N; i ++){ if(i & (1 << k)){ a = Query(i); } }*/ } /* N queries to set up 2N queries for each one N queries to remove Repeat all log(n) times = 4N * 15 */ set<pair<int, int>> ans; for(int i = 0; i < res.size(); i ++){ ans.insert({min(i , res[i] -1), max(i , res[i] - 1)}); //Answer(i, res[i]); } for(auto itx = ++ans.begin(); itx != ans.end(); ++itx){ Answer((*itx).first, (*itx).second); //cout << (*itx).first << " " << (*itx).second << "\n"; } } /* g++ -std=gnu++17 -O2 -Wall -pipe -static -o minerals grader.cpp minerals.cpp 4 1 5 2 6 3 4 7 8 */

Compilation message (stderr)

minerals.cpp: In function 'void Solve(int)':
minerals.cpp:11:31: warning: suggest parentheses around operand of '!' or change '&' to '&&' or '!' to '~' [-Wparentheses]
   11 |           if(i & (1 << k) and not i & (1 << (k - 1))){
      |                               ^~~~~
minerals.cpp:14:14: warning: suggest parentheses around operand of '!' or change '&' to '&&' or '!' to '~' [-Wparentheses]
   14 |           if(not i & (1 << k) and i & (1 << (k - 1))){
      |              ^~~~~
minerals.cpp:44:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   44 |     for(int i = 0; i < res.size(); 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...