Submission #536314

#TimeUsernameProblemLanguageResultExecution timeMemory
536314ammar2000Cheap flights (LMIO18_pigus_skrydziai)C++17
12 / 100
3085 ms191848 KiB
#include<bits/stdc++.h> #define ll long long #define pb push_back #define F first #define S second #define coy cout<<"YES\n" #define con cout<<"NO\n" #define co1 cout<<"-1\n" #define sc(x) scanf("%lld",&x) #define all(x) x.begin(),x.end() #define fast ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); using namespace std; const int SI=4e5+7; ll INF=8e18+7; int dx[] = {1 , -1 , 0 , 0}; int dy[] = {0 , 0 , 1 , -1}; int MOD=1e9+7; ll n,m; vector <pair <ll,ll> > v[SI]; map <pair < ll,ll>,ll > mp; ll ans=0; void dfs(int x,int st,int len,int sum) { if (len==2) { if (mp[{x,st}]==0) return ; ans=max(ans,sum+mp[{x,st}]); return ; } for (auto i:v[st]) { if (i.F!=st) dfs(x,i.F,len+1,sum+i.S); } } int main() { fast cin>>n>>m; for (int i=0;i<m;i++) { ll x,y,z; cin>>x>>y>>z; mp[{x,y}]=mp[{y,x}]=z; v[x].pb({y,z}); v[y].pb({x,z}); } for (int i=1;i<=n;i++) { ll sum=0; for (auto e:v[i]) sum+=e.S; ans=max(ans,sum); dfs(i,i,0,0); } cout <<ans <<"\n"; // use scanf not cin return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...