Submission #1131383

#TimeUsernameProblemLanguageResultExecution timeMemory
1131383Champ_NamanSwapping Cities (APIO20_swap)C++20
0 / 100
268 ms16436 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]});
      if(u[i] != 0) wt[v[i]] = w[i];
      else wt[v[i]] = w[i];
      st.insert(w[i]);
   }

   return;
}

int getMinimumFuelCapacity(int x, int y){
   if(x == 0 or y == 0 or 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...