Submission #984790

#TimeUsernameProblemLanguageResultExecution timeMemory
984790AiperiiiSwapping Cities (APIO20_swap)C++14
0 / 100
233 ms12512 KiB
#include <bits/stdc++.h> #include "swap.h" #define ff first #define ss second #define pb push_back #define all(x) x.begin(),x.end() using namespace std; const int N=1e5+5; int sz[N]; multiset <int> ms; int n; void init(int N, int M,vector<int> U,vector<int> V,vector<int> W) { n=N; for(int i=0;i<M;i++){ sz[V[i]]=W[i]; ms.insert(sz[V[i]]); } } int getMinimumFuelCapacity(int X, int Y) { if(X==0 or Y==0 or n<=3)return -1; ms.erase(ms.find(sz[X])); ms.erase(ms.find(sz[Y])); int ans=max({sz[X],sz[Y],*ms.begin()}); ms.insert(sz[X]); ms.insert(sz[Y]); return ans; } /*signed main(){ ios_base::sync_with_stdio(); cin.tie(0);cout.tie(0); int n,m; cin>>n>>m; vector <int> a(m),b(m),c(m); for(int i=0;i<m;i++){ cin>>a[i]>>b[i]>>c[i]; } init(n,m,a,b,c); int q; cin>>q; while(q--){ int u,v; cin>>u>>v; cout<<getMinimumFuelCapacity(u,v)<<"\n"; } }*/ /* 3 1 10 3 10 8 15 2 1 2 2 3 */
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...