제출 #548792

#제출 시각아이디문제언어결과실행 시간메모리
548792MazaalaiCity Mapping (NOI18_citymapping)C++17
22 / 100
5 ms728 KiB
#include "citymapping.h"

#include <bits/stdc++.h>
#define pb push_back
using namespace std;
using ll = long long; 
ll get(int a, int b) {
	// cout << "ASK: " << a << ' ' << b << "\n";
	ll x =  get_distance(a, b);
	// cout << "GOT: " << x << '\n';
	return x;
}
void find_roads(int n, int q, int a[], int b[], int w[]) {
	// cout << "OPEN\n";
	vector <int> dist[n+5];
	int pt = 0;
	for (int i = 2; i <= n; i++) {
		int x = get(1, i);
		if (x == 1) {
			a[pt] = 1, b[pt] = i;
			w[pt] = 1;
			pt++;
		}
		dist[x].pb(i);
	}
	for (int i = 1; i < n; i++) {
		if (dist[i].size() == 0 || dist[i+1].size() == 0) continue;
		for (auto& el : dist[i])
		for (auto& el1 : dist[i+1]) {
			ll x = get(el, el1);
			if (x == 1) {
				a[pt] = el, b[pt] = el1;
				w[pt] = 1;
				pt++;
			}
		}
	}

	return;
}

/*
5 100000000 5 
1 4 1       
2 4 1
3 4 1
3 5 1
*/
#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...