256352026-02-23 19:35:25GeneratrollVillanyautócpp17Elfogadva 60/6030ms756 KiB
using ll = long long;
#include <bits/stdc++.h>
using namespace std;
int main() {
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	int n;
	int m;
	int l;
	cin >> n >> m >> l;
	ll e = 1000000000000000LL;
	vector<vector<ll>> d(n, vector<ll>(n, e));
	for (int i = 0; i < n; i++) {
		d[i][i] = 0;
	}
	for (int i = 0; i < m; i++) {
		int u;
		int w;
		ll c;
		cin >> u >> w >> c;
		u--;
		w--;
		if (c < d[u][w]) {
			d[u][w] = c;
			d[w][u] = c;
		}
	}
	for (int k = 0; k < n; k++) {
		for (int i = 0; i < n; i++) {
			for (int j = 0; j < n; j++) {
				if (d[i][k] + d[k][j] < d[i][j]) {
					d[i][j] = d[i][k] + d[k][j];
				}
			}
		}
	}
	vector<ll> v;
	for (int i = 0; i < n; i++) {
		for (int j = i + 1; j < n; j++) {
			v.push_back(d[i][j]);
		}
	}
	sort(v.begin(), v.end());
	v.erase(unique(v.begin(), v.end()), v.end());
	auto f = [&](ll c) {
		vector<vector<int>> a(n, vector<int>(n));
		for (int i = 0; i < n; i++) {
			for (int j = 0; j < n; j++) {
				if (i == j) {
					a[i][j] = 0;
				} else if (d[i][j] <= c) {
					a[i][j] = 1;
				} else {
					a[i][j] = n + 1;
				}
			}
		}
		for (int k = 0; k < n; k++) {
			for (int i = 0; i < n; i++) {
				for (int j = 0; j < n; j++) {
					if (a[i][k] + a[k][j] < a[i][j]) {
						a[i][j] = a[i][k] + a[k][j];
					}
				}
			}
		}
		for (auto& t : a) {
			for (int y : t) {
				if (y > l) {
					return false;
				}
			}
		}
		return true;
	};
	ll p = 0;
	ll z = v.size();
	ll q = z - 1;
	ll s = v.back();
	while (p <= q) {
		ll r = p + (q - p) / 2;
		if (f(v[r])) {
			s = v[r];
			q = r - 1;
		} else {
			p = r + 1;
		}
	}
	cout << s << '\n';
	return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base60/60
1Elfogadva0/01ms508 KiB
2Elfogadva0/012ms316 KiB
3Elfogadva1/14ms316 KiB
4Elfogadva1/14ms316 KiB
5Elfogadva1/14ms316 KiB
6Elfogadva2/228ms564 KiB
7Elfogadva2/229ms564 KiB
8Elfogadva2/229ms564 KiB
9Elfogadva1/12ms316 KiB
10Elfogadva1/12ms316 KiB
11Elfogadva1/13ms476 KiB
12Elfogadva2/28ms504 KiB
13Elfogadva2/214ms564 KiB
14Elfogadva2/216ms508 KiB
15Elfogadva3/310ms564 KiB
16Elfogadva3/310ms580 KiB
17Elfogadva2/24ms316 KiB
18Elfogadva2/24ms316 KiB
19Elfogadva2/24ms316 KiB
20Elfogadva2/24ms316 KiB
21Elfogadva2/23ms668 KiB
22Elfogadva2/24ms316 KiB
23Elfogadva3/330ms612 KiB
24Elfogadva3/328ms512 KiB
25Elfogadva3/328ms564 KiB
26Elfogadva3/330ms564 KiB
27Elfogadva3/317ms316 KiB
28Elfogadva3/328ms564 KiB
29Elfogadva3/324ms756 KiB
30Elfogadva3/320ms564 KiB