Submission #747430

#TimeUsernameProblemLanguageResultExecution timeMemory
747430vjudge1Swapping Cities (APIO20_swap)C++17
0 / 100
101 ms6760 KiB
#include "swap.h" #include <bits/stdc++.h> using namespace std; vector<int> w1; vector<pair<int,int>> w2; bool bambusz; void init(int N, int M, std::vector<int> U, std::vector<int> V, std::vector<int> W) { if(N <= 3)bambusz = true; w1.resize(N); w1[0] = 0; for(int i = 0; i < M; i++){ w1[V[i]] = W[i]; } for(int i = 0; i < M; i++){ w2.push_back({W[i], V[i]}); } sort(w2.begin(), w2.end()); } int getMinimumFuelCapacity(int X, int Y) { if(bambusz)return -1; int mx = 0; if(X != 0) mx = max(mx, w1[X]); if(Y != 0) mx = max(mx, w1[Y]); int i = 0; if(X == w2[i].second || Y == w2[i].second)i++; if(X == w2[i].second || Y == w2[i].second)i++; if(X == 0 || Y == 0){ int j = i+1; if(X == w2[j].second || Y == w2[j].second)j++; if(X == w2[j].second || Y == w2[j].second)j++; return max(mx, max(w2[i].first, w2[j].second)); } return max(mx, w2[i].first); } /* 4 3 0 1 1 0 2 2 0 3 3 4 1 2 1 3 0 1 3 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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...