제출 #1200711

#제출 시각아이디문제언어결과실행 시간메모리
1200711Hamed_GhaffariFinding Routers (IOI20_routers)C++20
100 / 100
1 ms328 KiB
#include "routers.h"
#include <bits/stdc++.h>
using namespace std;

vector<int> dis;

void rec(int s, int e, int l, int r) {
  if(s>e) return;
  if(e-s == r-l) {
    for(int i=l; i<=r; i++) dis.push_back(i);
    return;
  }
  if(r-l==1) {
    if(use_detector(r)==s) dis.push_back(r);
    else dis.push_back(l);
    return;
  }
  int mid = l+r>>1;
  int wh = use_detector(mid);
  rec(s, wh-1, l, mid-1);
  rec(wh, e, mid, r);
}

vector<int> find_routers(int L, int n, int q) {
  rec(0, n-2, 0, L-1);
  vector<int> ans = {0};
  for(int i : dis)
    ans.push_back(2*i-ans.back());
  return ans;
}
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…