Submission #32751762


Source Code Expand

#include<iostream>
#include<vector>
#include<string>
#include<utility>
#include<algorithm>
#include<queue>
#include<cmath>
#include<functional>

using namespace std;

typedef pair<int, int> P;
typedef long long int llint;

int N;


int main() {
	cin >> N;
	vector<P> xy(N);
	vector<llint> P(N);
	for (int i = 0; i < N; i++) {
		cin >> xy[i].first >> xy[i].second >> P[i];
	}
	vector<vector<llint> > distance(N, vector<llint>(N));
	for (int i = 0; i < N; i++) {
		for (int j = 0; j < N; j++) {
			if (i == j) { continue; }
			llint man = abs(xy[i].first - xy[j].first) + abs(xy[i].second - xy[j].second);
			distance[i][j] = (man + P[i] - 1) / P[i];
			distance[j][i] = (man + P[i] - 1) / P[j];
		}
	}

	llint ans = 4000000001;
	for (int i = 0; i < N; i++) {
		llint cost = 0;
		vector<bool> used(N, false);
		used[i] = true;
		int use_sum = 1;
		priority_queue<pair<llint, llint>, vector< pair<llint, llint> >, greater<pair<llint, llint> >> que;
		for (int j = 0; j < N; j++) {
			if (i != j) { que.push(make_pair(distance[i][j], j)); }
		}
		while (use_sum < N) {
			pair<llint, llint> next = que.top(); que.pop();
			if (used[next.second]) { continue; }
			used[next.second] = true;
			cost = max(cost, next.first);
			use_sum++;
			//cout << "to:" << next.second << ", cost" << next.first << endl;
			for (int i = 0; i < N; i++) {
				if (!used[i]) {
					que.push(make_pair(distance[next.second][i], i));
				}
			}
		}
	/*	cout << i << ",  " << flush;
		cout << cost << endl;*/
		ans = min(ans, (llint)ceil(cost));
	}
	cout << ans << endl;
}

Submission Info

Submission Time
Task D - Jumping Takahashi 2
User NoKmono
Language C++ (GCC 9.2.1)
Score 0
Code Size 1610 Byte
Status WA
Exec Time 283 ms
Memory 4316 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 400
Status
AC × 2
AC × 7
WA × 33
Set Name Test Cases
Sample 00_sample_01.txt, 00_sample_02.txt
All 00_sample_01.txt, 00_sample_02.txt, 01_random_01.txt, 01_random_02.txt, 01_random_03.txt, 01_random_04.txt, 01_random_05.txt, 01_random_06.txt, 01_random_07.txt, 01_random_08.txt, 02_max_01.txt, 02_max_02.txt, 02_max_03.txt, 02_max_04.txt, 02_max_05.txt, 02_max_06.txt, 02_max_07.txt, 02_max_08.txt, 02_max_09.txt, 02_max_10.txt, 02_max_11.txt, 02_max_12.txt, 02_max_13.txt, 02_max_14.txt, 02_max_15.txt, 02_max_16.txt, 02_max_17.txt, 02_max_18.txt, 02_max_19.txt, 02_max_20.txt, 02_max_21.txt, 02_max_22.txt, 02_max_23.txt, 02_max_24.txt, 02_max_25.txt, 03_handmade_01.txt, 03_handmade_02.txt, 03_handmade_03.txt, 03_handmade_04.txt, 03_handmade_05.txt
Case Name Status Exec Time Memory
00_sample_01.txt AC 5 ms 3464 KiB
00_sample_02.txt AC 2 ms 3516 KiB
01_random_01.txt AC 2 ms 3472 KiB
01_random_02.txt WA 2 ms 3524 KiB
01_random_03.txt WA 2 ms 3348 KiB
01_random_04.txt WA 12 ms 3652 KiB
01_random_05.txt WA 3 ms 3548 KiB
01_random_06.txt AC 38 ms 3556 KiB
01_random_07.txt AC 132 ms 3868 KiB
01_random_08.txt WA 9 ms 3408 KiB
02_max_01.txt WA 213 ms 4140 KiB
02_max_02.txt WA 211 ms 4192 KiB
02_max_03.txt WA 197 ms 4188 KiB
02_max_04.txt WA 212 ms 4140 KiB
02_max_05.txt WA 203 ms 4260 KiB
02_max_06.txt WA 213 ms 4304 KiB
02_max_07.txt WA 203 ms 4316 KiB
02_max_08.txt WA 203 ms 4256 KiB
02_max_09.txt WA 205 ms 4128 KiB
02_max_10.txt WA 208 ms 4136 KiB
02_max_11.txt WA 207 ms 4264 KiB
02_max_12.txt WA 206 ms 4140 KiB
02_max_13.txt WA 201 ms 4072 KiB
02_max_14.txt WA 199 ms 4204 KiB
02_max_15.txt WA 204 ms 4060 KiB
02_max_16.txt WA 195 ms 4236 KiB
02_max_17.txt WA 215 ms 4252 KiB
02_max_18.txt WA 233 ms 4140 KiB
02_max_19.txt WA 202 ms 4060 KiB
02_max_20.txt WA 211 ms 4196 KiB
02_max_21.txt WA 207 ms 4200 KiB
02_max_22.txt WA 201 ms 4196 KiB
02_max_23.txt WA 220 ms 4180 KiB
02_max_24.txt AC 283 ms 4264 KiB
02_max_25.txt AC 242 ms 4128 KiB
03_handmade_01.txt WA 2 ms 3472 KiB
03_handmade_02.txt WA 260 ms 3932 KiB
03_handmade_03.txt WA 257 ms 3808 KiB
03_handmade_04.txt WA 259 ms 3792 KiB
03_handmade_05.txt WA 259 ms 4056 KiB