Submission #1197413

#TimeUsernameProblemLanguageResultExecution timeMemory
1197413adiyerSwapping Cities (APIO20_swap)C++20
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> using namespace std; const int MAXN = 2e5 + 11; int n, m, mn, mx, ok; bool was[MAXN]; vector < int > cmp; vector < int > g[MAXN]; vector < pair < int, pair < int, int > > > reb; void init(int N, int M, vector < int > U, vector < int > V, vector < int > W){ n = N, m = M; for(int i = 0; i < m; i++) reb.push_back({W[i], {U[i], V[i]}}); sort(reb.begin(), reb.end()); } void dfs(int v){ was[v] = 1, cmp.push_back(v); for(int u : g[v]) if(!was[u]) dfs(u); } bool f(int x, int y, int till){ for(int i = 0; i <= till; i++) g[reb[i].second.first].push_back(reb[i].second.second), g[reb[i].second.second].push_back(reb[i].second.first); cmp.clear(), dfs(x), mn = n, mx = 0, ok = was[y]; for(int v : cmp) mn = min(mn, (int) g[v].size()), mx = max(mx, (int) g[v].size()), was[v] = 0; for(int i = 0; i <= till; i++) g[reb[i].second.first].clear(), g[reb[i].second.second].clear(); return ((mx > 2 || mn >= 2) && (ok)); } int getMinimumFuelCapacity(int X, int Y) { int l = 0, r = m; while(r - l > 1){ int md = (l + r) / 2; if(f(X, Y, md)) r = md; else l = md; } if(r == m) return -1; return reb[r].first; } int main() { int N, M; assert(2 == scanf("%d %d", &N, &M)); std::vector<int> U(M), V(M), W(M); for (int i = 0; i < M; ++i) { assert(3 == scanf("%d %d %d", &U[i], &V[i], &W[i])); } int Q; assert(1 == scanf("%d", &Q)); std::vector<int> X(Q), Y(Q); for (int i = 0; i < Q; ++i) { assert(2 == scanf("%d %d", &X[i], &Y[i])); } init(N, M, U, V, W); std::vector<int> minimum_fuel_capacities(Q); for (int i = 0; i < Q; ++i) { minimum_fuel_capacities[i] = getMinimumFuelCapacity(X[i], Y[i]); } for (int i = 0; i < Q; ++i) { printf("%d\n", minimum_fuel_capacities[i]); } return 0; }

Compilation message (stderr)

/usr/bin/ld: /tmp/ccUlbtyJ.o: in function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/ccoHWTJu.o:swap.cpp:(.text.startup+0x0): first defined here
collect2: error: ld returned 1 exit status