Submission #815851

#TimeUsernameProblemLanguageResultExecution timeMemory
815851yeysoMinerals (JOI19_minerals)C++14
6 / 100
9 ms848 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 = 0; k < 15; k ++){
      for(int i = 1; i <= 2 * N; i ++){
          if(i & (1 << k)){
              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);
        }
      }
    }
    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:32:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   32 |     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...