제출 #1145820

#제출 시각아이디문제언어결과실행 시간메모리
1145820imarnCheap flights (LMIO18_pigus_skrydziai)C++20
28 / 100
3097 ms82860 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; multiset<pair<int,ll>>ms[mxn]; ll dp[mxn]{0},ans=0; int idx[mxn]{0}; tuple<int,int,int> rd[2*mxn]; 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; ms[a].insert({b,c}); ms[b].insert({a,c}); dp[a]+=c;dp[b]+=c; ans=max({ans,dp[a],dp[b]}); rd[i]={a,b,c}; } for(int i=1;i<=m;i++){ int u,v,w;tie(u,v,w)=rd[i]; if(ms[u].size()>ms[v].size())swap(u,v); for(auto [it,ix]:ms[u]){ auto ij = ms[v].lower_bound({it,0}); if(ij->f==it)ans=max(ans,w+ix+ij->s); } }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...