제출 #1145783

#제출 시각아이디문제언어결과실행 시간메모리
1145783imarnCheap flights (LMIO18_pigus_skrydziai)C++20
0 / 100
856 ms63852 KiB
#include<bits/stdc++.h> #pragma GCC optimize("O3") #pragma GCC target("avx2") #define ll long long #define pii pair<int,int> #define pll pair<ll,ll> #define plx pair<ll,int> #define f first #define s second #define pb push_back #define all(x) x.begin(),x.end() #define vi vector<int> #define vvi vector<vi> #define pp pair<ll,int> #define ub(x,i) upper_bound(all(x),i)-x.begin() #define lb(x,i) lower_bound(all(x),i)-x.begin() #define t3 tuple<int,int,int> using namespace std; const int mxn=3e5+5,k=710; vector<pii>g[mxn]; ll dp[mxn]{0},ans=0; bool vis[mxn]{0}; map<pair<int,int>,ll>mp; vector<int>con[mxn]; void dfs(int u,int p){ vis[u]=1; for(auto [v,w]:g[u]){ if(v==p)continue; if(!vis[v])dfs(v,u); if(mp.find({p,v})!=mp.end())con[u].pb(v); for(auto x:con[v]){ ans=max(ans,mp[{v,u}]+mp[{v,x}]+mp[{u,x}]); } } } int main(){ ios_base::sync_with_stdio(0);cin.tie(0); int n,m;cin>>n>>m; for(int i=1;i<=m;i++){ int a,b,c;cin>>a>>b>>c; g[a].pb({b,c}); g[b].pb({a,c}); dp[a]+=c;dp[b]+=c; mp[{a,b}]=mp[{b,a}]=c; ans=max({ans,dp[a],dp[b]}); }dfs(1,-1);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...