Submission #979620

#TimeUsernameProblemLanguageResultExecution timeMemory
979620vjudge1Swapping Cities (APIO20_swap)C++17
0 / 100
68 ms10876 KiB
#include <time.h> #include <cstdlib> #include <stack> #include <numeric> #include <unordered_map> #include <unordered_set> #include <iomanip> #include <map> #include <set> #include <iterator> #include <deque> #include <queue> #include <sstream> #include <array> #include <string> #include <tuple> #include <chrono> #include <cassert> #include <cstdio> #include <cstring> #include <list> #include <iostream> #include <vector> #include <cmath> #include <algorithm> #include <bitset> #include "swap.h" #include <cassert> #include <cstdio> #include <string> #include <vector> using namespace std; vector<pair<int, int>> g[200005]; pair<int, int> p[200005]; map<pair<int, int>, int> mp, pos; set<pair<int, int>> st; int N, M; void init(int N, int M, std::vector<int> U, std::vector<int> V, std::vector<int> W) { } int getMinimumFuelCapacity(int X, int Y) { X++; Y++; if(N <= 3) return -1; int mx = 0; if(X != 1) mx = mp[{1, X}]; if(Y != 1) mx = max(mx, mp[{1, Y}]); if(X != 1) st.erase({mp[{1, X}], pos[{1, X}]}); if(Y != 1) st.erase({mp[{1, Y}], pos[{1, Y}]}); pair<int, int> p = *st.begin(); st.erase(st.begin()); if(X != 1 && Y != 1){ st.insert(p); if(X != 1) st.insert({mp[{1, X}], pos[{1, X}]}); if(Y != 1) st.insert({mp[{1, Y}], pos[{1, Y}]}); return max(mx, p.first); } else{ pair<int, int> p1 = *st.begin(); st.insert(p1); st.insert(p); if(X != 1) st.insert({mp[{1, X}], pos[{1, X}]}); if(Y != 1) st.insert({mp[{1, Y}], pos[{1, Y}]}); return max({mx, p.first, p1.first}); } }
#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...