Submission #304952

#TimeUsernameProblemLanguageResultExecution timeMemory
304952computerboxCheap flights (LMIO18_pigus_skrydziai)C++14
100 / 100
1285 ms96760 KiB
#include <bits/stdc++.h> #define FLASH ios_base::sync_with_stdio(0); #define ll long long #define debt(x,y)cout<<"#x = "<<(x)<<" and "<<"#y = "<<(y)<<endl; #define deb(x)cout<<"#x = "<<(x)<<endl; #define pb push_back #define mp make_pair #define all(x) (x).begin(), (x).end() #define endl "\n" #define arr(a,n) for(ll i=1;i<=n;i++) cout<<a[i]<<" "; cout << "\n"; #define vecc(a,n) for(ll i=0;i<n;i++) cout<<a[i]<<" "; cout << "\n"; using namespace std; unordered_map<ll,ll>adj1[300010]; vector<pair<ll,ll> >adj[300010]; ll sorthus(pair<ll,ll>a,pair<ll,ll>b) { return a.first>b.first; } ll n,m; int main(){ FLASH; cin>>n>>m; for(ll i=1;i<=m;i++) { ll x,y,z; cin>>x>>y>>z; adj[x].pb(mp(z,y)); adj[y].pb(mp(z,x)); adj1[x][y]=z; adj1[y][x]=z; } ll maxx=0; ll summ=0; for(ll i=1;i<=n;i++) { summ=0; sort(all(adj[i]),sorthus); for(auto j:adj1[i])summ+=j.second; maxx=max(maxx,summ); } for(ll i=1;i<=n;i++) { if(adj[i].size()>=1) { auto one=adj[i][0]; if(adj[one.second].size()>=2) { auto two=adj[one.second][1]; maxx=max(maxx,one.first+two.first+adj1[two.second][i]); } } } cout<<maxx<<endl; 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...