This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#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... |