Submission #1131389

#TimeUsernameProblemLanguageResultExecution timeMemory
1131389Champ_NamanSwapping Cities (APIO20_swap)C++20
7 / 100
379 ms16900 KiB
#include<bits/stdc++.h> using namespace std; #define nl '\n' #include "swap.h" const int N = 1e5; vector<pair<int,int>> g[N]; int wt[N]; multiset<int> st; void init(int n, int m, vector<int> u, vector<int> v, vector<int> w){ for(int i=0; i<m; i++){ g[u[i]].push_back({v[i], w[i]}); g[v[i]].push_back({u[i], w[i]}); wt[v[i]] = w[i]; st.insert(w[i]); } return; } int getMinimumFuelCapacity(int x, int y){ if(y == 0) swap(x, y); if(x == 0){ if(st.size() <= 2) return -1; st.erase(st.find(wt[y])); int mn = max(*st.begin(), *next(st.begin())); st.insert(wt[y]); return max(mn, wt[y]); } if(st.size() == 2) return -1; st.erase(st.find(wt[x])); st.erase(st.find(wt[y])); int mn = *st.begin(); st.insert(wt[x]); st.insert(wt[y]); return max({wt[y], wt[x], mn}); }
#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...