제출 #1226077

#제출 시각아이디문제언어결과실행 시간메모리
1226077poatMinerals (JOI19_minerals)C++17
40 / 100
13 ms3176 KiB
#include <bits/stdc++.h>
#include "minerals.h"
// #include "grader.cpp"
using namespace std;

void solve(vector<int> vec)
{
  if(vec.empty())
    return;
  if(vec.size() == 2)
  {
    Answer(vec[0], vec[1]);
    return;
  }


  vector<int> a, b;
  for(int i = 0; i < vec.size() / 4; i++)
    a.push_back(vec[i]);
  for(int i = vec.size() / 4; i < vec.size() / 2; i++)
    b.push_back(vec[i]);


  int x;
  for(auto i : a)
    x = Query(i);

  for(int i = vec.size() / 2; i < vec.size(); i++)
  {
    int y = Query(vec[i]);
    if(x == y)
      a.push_back(vec[i]);
    else
      b.push_back(vec[i]);
    y = Query(vec[i]);
    x = y;
  }

  for(auto i : a)
    Query(i);

  solve(a);
  solve(b);
}


void Solve(int N) 
{
  int q = 0;
  vector<int> a, b;
  for(int i = 1; i <= N * 2; i++)
  {
    if(Query(i) > q)
    {
      a.push_back(i);
      q++;
    }
    else
      b.push_back(i);
  }

  for(int i = 1; i <= N * 2; i++)
    Query(i);

  for(auto i : b)
    a.push_back(i);

    solve(a);
}
#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...