Submission #597267

#TimeUsernameProblemLanguageResultExecution timeMemory
597267OzySwapping Cities (APIO20_swap)C++17
0 / 100
96 ms11960 KiB
#include "swap.h" #include <bits/stdc++.h> using namespace std; #define rep(i,a,b) for (int i = (a); i <= (b); i++) #define repa(i,a,b) for (int i = (a); i >= (b); i--) #define lli long long int #define debug(a) cout << #a << " = " << a << endl #define debugsl(a) cout << #a << " = " << a << ", " #define MAX 100000 #define u second.first #define v second.second #define w first lli peso[MAX+2],a,b,c,n,m; vector<pair<lli,lli> > orden; void init(int N, int M,std::vector<int> U, std::vector<int> V, std::vector<int> W) { n = N; m = M; rep(i,0,m-1) { peso[V[i]+1] = W[i]; orden.push_back({W[i],V[i]+1}); } sort(orden.begin(), orden.end()); } int getMinimumFuelCapacity(int X, int Y) { X++; Y++; if (n < 4) return -1; c = peso[Y]; if (X == 0) { if (orden[0].second == Y) X = orden[1].second; else X = orden[0].second; } b = peso[X]; for (auto act : orden) { if (act.second == Y || act.second == X) continue; a = act.first; break; } a = max(a,b); a = max(a,c); return a; }
#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...