제출 #1263401

#제출 시각아이디문제언어결과실행 시간메모리
1263401rtriThe Collection Game (BOI21_swaps)C++20
5 / 100
11 ms416 KiB
#include "swaps.h"
#include <bits/stdc++.h>

using namespace std;

vector<int> rooms;
void merge_sort(int l, int r) {
  if (r - l <= 1)
    return;

  int mid = (l + r) / 2;

  merge_sort(l, mid);
  merge_sort(mid, r);

  vector<int> merged;
  int idx_l = l, idx_r = mid;
  while (idx_l != mid && idx_r != r) {
    schedule(rooms[idx_l], rooms[idx_r]);
    if (visit()[0])
      merged.push_back(rooms[idx_l++]);
    else
      merged.push_back(rooms[idx_r++]);
  }
  while (idx_l != mid)
    merged.push_back(rooms[idx_l++]);
  while (idx_r != r)
    merged.push_back(rooms[idx_r++]);

  for (int i = 0; i < r - l; i++)
    rooms[l + i] = merged[i];
}

void solve(int N, int V) {
  rooms.resize(N);
  for (int i = 0; i < N; i++)
    rooms[i] = i + 1;

  merge_sort(0, N);
  answer(rooms);
}
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...