6763 | 2023. 12. 18 21:48:23 | 111 | Villanyautó | cpp17 | Elfogadva 60/60 | 142ms | 4460 KiB |
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define double long double
#define pii pair<int, int>
template<typename T>
using min_priority_queue = std::priority_queue<T, vector<T>, greater<T>>;
template<typename T, typename U>
bool ckmin(T& a, const U& b) {
return b < a ? a = b, true : false;
}
#define A (int)1e12
#define B (int)1e18
signed main() {
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
#ifdef CB
freopen("be1.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 = A;
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, B);
min_priority_queue<pii> pq;
pq.emplace(0, i);
v[i] = 0;
while (!pq.empty()) {
auto j = pq.top();
pq.pop();
if (j.first > v[j.second]) {
continue;
}
for (pii p : g[j.second]) {
if (p.second > m) {
continue;
}
int c = v[j.second] + p.second;
if (c % A > m) {
c -= c % A;
c += A + p.second;
}
if (ckmin(v[p.first], c)) {
pq.emplace(v[p.first], p.first);
}
}
}
for (int j = 1; j <= N; j++) {
if (v[j] / A >= K) {
goto bad;
}
}
}
if (ok) {
h = m;
}
else {
bad:
l = m + 1;
}
}
cout << l << '\n';
return 0;
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 60/60 | ||||||
1 | Elfogadva | 0/0 | 3ms | 1832 KiB | |||
2 | Elfogadva | 0/0 | 64ms | 2236 KiB | |||
3 | Elfogadva | 1/1 | 17ms | 2392 KiB | |||
4 | Elfogadva | 1/1 | 25ms | 2668 KiB | |||
5 | Elfogadva | 1/1 | 28ms | 2856 KiB | |||
6 | Elfogadva | 2/2 | 75ms | 2908 KiB | |||
7 | Elfogadva | 2/2 | 101ms | 3484 KiB | |||
8 | Elfogadva | 2/2 | 142ms | 3520 KiB | |||
9 | Elfogadva | 1/1 | 13ms | 3208 KiB | |||
10 | Elfogadva | 1/1 | 8ms | 3296 KiB | |||
11 | Elfogadva | 1/1 | 6ms | 3540 KiB | |||
12 | Elfogadva | 2/2 | 46ms | 3552 KiB | |||
13 | Elfogadva | 2/2 | 34ms | 3472 KiB | |||
14 | Elfogadva | 2/2 | 14ms | 3600 KiB | |||
15 | Elfogadva | 3/3 | 35ms | 3700 KiB | |||
16 | Elfogadva | 3/3 | 59ms | 3684 KiB | |||
17 | Elfogadva | 2/2 | 8ms | 3604 KiB | |||
18 | Elfogadva | 2/2 | 25ms | 3876 KiB | |||
19 | Elfogadva | 2/2 | 25ms | 3912 KiB | |||
20 | Elfogadva | 2/2 | 29ms | 4028 KiB | |||
21 | Elfogadva | 2/2 | 17ms | 3980 KiB | |||
22 | Elfogadva | 2/2 | 8ms | 4172 KiB | |||
23 | Elfogadva | 3/3 | 34ms | 4212 KiB | |||
24 | Elfogadva | 3/3 | 90ms | 4304 KiB | |||
25 | Elfogadva | 3/3 | 90ms | 4120 KiB | |||
26 | Elfogadva | 3/3 | 129ms | 4308 KiB | |||
27 | Elfogadva | 3/3 | 74ms | 4340 KiB | |||
28 | Elfogadva | 3/3 | 43ms | 4244 KiB | |||
29 | Elfogadva | 3/3 | 29ms | 4372 KiB | |||
30 | Elfogadva | 3/3 | 39ms | 4460 KiB |