Submission #1239142

#TimeUsernameProblemLanguageResultExecution timeMemory
1239142asdfghqwertCheap flights (LMIO18_pigus_skrydziai)C++20
28 / 100
1242 ms73716 KiB
//#pragma GCC optimize("O3,unroll-loops,fast-math") #pragma GCC optimize("O3,Ofast") //#pragma GCC target("avx,avx2,fma") #include <bits/stdc++.h> typedef int ll; using namespace std; struct edge{ int v , w; }; int32_t main() { ios::sync_with_stdio(false); cin.tie(nullptr); int n , m , ans = 0;cin >> n >> m; vector<vector<edge>> g(n + 1); map<pair<int , int> , int> mp; for(int i = 1 ; i <= m ; i++){ int u , v , w;cin >> u >> v >> w; mp[{u,v}] = w; mp[{v,u}] = w; g[u].push_back({v , w}); g[v].push_back({u , w}); } for(int u = 1 ; u <= n ;u++){ int tans = 0; if(g[u].size() == 0)continue; if(g[u].size() == 1)ans = max(ans , g[u][0].w); int mxidx = 0 , mxval = -1e9, mx2idx = 0, mx2val = -1e9; for(int i = 0 ; i < g[u].size() ; i++){ tans += g[u][i].w; if(mxval < g[u][i].w){mxval = g[u][i].w ; mxidx = g[u][i].v;} } if(mxidx == 0)mx2idx = 1; for(int i = 0 ; i < g[u].size() ; i++){ if(g[u][i].v == mxidx)continue; if(mx2val < g[u][i].w){mx2val = g[u][i].w ; mx2idx = g[u][i].v;} } if(mp.count({mxidx , mx2idx}))tans = max(tans , mxval + mx2val + mp[{mxidx , mx2idx}]); ans = max(ans , tans); }cout << ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...