이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#define ll long long
#define pll pair<ll, ll>
#include "highway.h"
#include <bits/stdc++.h>
using namespace std;
void find_pair(int n, std::vector<int> u, std::vector<int> v, int a, int b)
{
vector<int> w(n-1, 0);
ll dist = ask(w);
//Find first station:
int left = 0;
int right = n-1;
while(left < right)
{
int mid = (left+right)/2;
w.assign(n-1, 0);
for(int i = 0; i <= mid; i++)
{
w[i] = 1;
}
if(ask(w) > dist)
{
right = mid;
}
else
{
left = mid+1;
}
}
int start = left;
//Find second station:
left = 1;
right = n;
while(left < right)
{
int mid = (left+right+1)/2;
w.assign(n-1, 0);
for(int i = n; i >= mid; i--)
{
w[i-1]= 1;
}
if(ask(w) > dist)
{
left = mid;
}
else
{
right = mid-1;
}
}
int goal = left;
answer(start, goal);
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |