#include <bits/stdc++.h>
#define ll long long
#define MOD 1000000007
using namespace std;
struct weight {
map<pair<int,int>, int> w;
void setW(int u, int v, int p) {
if(u > v) swap(u,v);
w[{u,v}] = p;
}
int getW(int u, int v) {
if(u > v) swap(u, v);
return w[{u,v}];
}
};
const int mxN = (int)3e5;
set<int> adj[mxN];
weight w;
void solve() {
int N, E; cin >> N >> E;
vector<ll> ws(N);
for(int i = 0; i < E; i++) {
int U, V, P;
cin >> U >> V >> P;
--U, --V;
ws[U] += P;
ws[V] += P;
adj[U].insert(V);
adj[V].insert(U);
w.setW(U, V, P);
}
ll ans = *max_element(ws.begin(), ws.end());
set<set<int>> cycles;
for(int u = 0; u < N; u++) {
for(int v : adj[u]) {
for(int r : adj[v]) {
if(
set<int> cycle = {u,v,r};
adj[r].find(u) != adj[r].end() && cycles.find(cycle) == cycles.end()
) {
ans = max(ans, (ll)w.getW(u,v) + (ll)w.getW(v,r) + (ll)w.getW(u,r));
cycles.insert(cycle);
}
}
}
}
cout << ans << '\n';
}
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
#ifdef LOCAL
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#endif
int test_cases = 1;
// cin >> test_cases;
for(int test_case = 1; test_case <= test_cases; test_case++) {
// cout << "Case #" << test_case << ": ";
solve();
}
return 0;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
7 ms |
14292 KB |
Output is correct |
2 |
Correct |
7 ms |
14292 KB |
Output is correct |
3 |
Correct |
8 ms |
14292 KB |
Output is correct |
4 |
Correct |
7 ms |
14360 KB |
Output is correct |
5 |
Correct |
7 ms |
14292 KB |
Output is correct |
6 |
Execution timed out |
3063 ms |
262144 KB |
Time limit exceeded |
7 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
7 ms |
14292 KB |
Output is correct |
2 |
Correct |
7 ms |
14292 KB |
Output is correct |
3 |
Correct |
8 ms |
14292 KB |
Output is correct |
4 |
Correct |
7 ms |
14360 KB |
Output is correct |
5 |
Correct |
7 ms |
14292 KB |
Output is correct |
6 |
Execution timed out |
3063 ms |
262144 KB |
Time limit exceeded |
7 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
247 ms |
40120 KB |
Output is correct |
2 |
Correct |
626 ms |
63644 KB |
Output is correct |
3 |
Correct |
188 ms |
30792 KB |
Output is correct |
4 |
Correct |
372 ms |
46240 KB |
Output is correct |
5 |
Correct |
1602 ms |
62888 KB |
Output is correct |
6 |
Runtime error |
2318 ms |
262144 KB |
Execution killed with signal 9 |
7 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
247 ms |
40120 KB |
Output is correct |
2 |
Correct |
626 ms |
63644 KB |
Output is correct |
3 |
Correct |
188 ms |
30792 KB |
Output is correct |
4 |
Correct |
372 ms |
46240 KB |
Output is correct |
5 |
Correct |
1602 ms |
62888 KB |
Output is correct |
6 |
Runtime error |
2318 ms |
262144 KB |
Execution killed with signal 9 |
7 |
Halted |
0 ms |
0 KB |
- |