Submission #1274359

#TimeUsernameProblemLanguageResultExecution timeMemory
1274359nicolo_010Highway Tolls (IOI18_highway)C++20
6 / 100
34 ms2168 KiB
#include <bits/stdc++.h>
#include "highway.h"
using namespace std;
using ll = long long;
using pii = pair<int, int>;

vector<vector<int>> adj;

int last;

void dfs(int n, int p=-1) {
	last = n;
	for (auto x : adj[n]) {
		if (x==p) continue;
		dfs(x, n);
	}
}

void find_pair(int n, vector<int> U, vector<int> V, int A, int B) {
	int m = U.size();
	vector<int> edges;
	vector<int> query(m, 0);
	ll w = ask(query);
	int l = 0, r = m-1;
	int ans;
	while (l <= r) {
		int mm = (l+r)/2;
		for (int i=l; i<=mm; i++) {
			query[i] = 1;
		}
		ll w2 = ask(query);
		if (w2 > w) {
			r = mm-1;
			ans = mm;
		}
		else {
			l = mm+1;
		}
		for (int i=0; i<m; i++) {
			query[i] = 0;
		}
	}
	int e = U[ans];
	answer(e, e+w/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...