67592023-12-18 20:19:21111Villanyautócpp17Hibás válasz 31/60263ms4496 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long
#define double long double

#define pii pair<int, int>

signed main() {
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
#ifdef CB
	freopen("be2.txt", "r", stdin);
//	freopen("out.txt", "w", stdout);
#endif
	int N, M, K;
	cin >> N >> M >> K;
	vector<vector<pii>> g(N + 1);
	for (int i = 0; i < M; i++) {
		int a, b, c;
		cin >> a >> b >> c;
		g[a].push_back({b, c});
		g[b].push_back({a, c});
	}
	int l = 0, h = 1e15;
	while (l < h) {
		int m = (l + h) / 2;
		// m possible?
		bool ok = true;
		for (int i = 1; i <= N; i++) {
			vector<int> v(N + 1);
			vector<set<int>> l(K + 1);
			v[i] = 1;
			l[0].insert(i);
			for (int j = 0; j < K; j++) {
				auto dfs = [&](auto dfs, int i, int r) -> void {
					for (auto [k, c] : g[i]) {
						if (v[k] == 0 && r >= c) {
							v[k] = 1;
							l[j + 1].insert(k);
							dfs(dfs, k, r - c);
						}
					}
				};
				for (int k : l[j]) {
					dfs(dfs, k, m);
				}
			}
			if (count(v.begin(), v.end(), 1) < N) {
				ok = false;
				break;
			}
		}
		if (ok) {
			h = m;
		}
		else {
			l = m + 1;
		}
	}
	cout << l << '\n';
	return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base31/60
1Elfogadva0/03ms1824 KiB
2Elfogadva0/076ms2272 KiB
3Hibás válasz0/114ms2416 KiB
4Hibás válasz0/135ms2792 KiB
5Hibás válasz0/137ms2864 KiB
6Hibás válasz0/259ms3024 KiB
7Hibás válasz0/2135ms3464 KiB
8Hibás válasz0/2202ms3836 KiB
9Elfogadva1/125ms3388 KiB
10Elfogadva1/123ms3388 KiB
11Elfogadva1/123ms3620 KiB
12Hibás válasz0/2103ms3836 KiB
13Elfogadva2/292ms3820 KiB
14Elfogadva2/281ms3952 KiB
15Hibás válasz0/390ms4224 KiB
16Elfogadva3/3136ms4240 KiB
17Hibás válasz0/221ms4168 KiB
18Elfogadva2/243ms4200 KiB
19Elfogadva2/248ms4368 KiB
20Hibás válasz0/264ms4240 KiB
21Elfogadva2/219ms4336 KiB
22Hibás válasz0/217ms4256 KiB
23Elfogadva3/368ms4368 KiB
24Hibás válasz0/3195ms4436 KiB
25Elfogadva3/3215ms4308 KiB
26Elfogadva3/3263ms4496 KiB
27Elfogadva3/379ms4284 KiB
28Hibás válasz0/3104ms4240 KiB
29Hibás válasz0/365ms4240 KiB
30Elfogadva3/365ms4328 KiB