Submission #1138158

#TimeUsernameProblemLanguageResultExecution timeMemory
1138158repmannNile (IOI24_nile)C++20
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> #define ll long long using namespace std; int N, Q; struct NODE { int parent, ranking, minimum; ll sum; bool odd; }DSU[100096]; struct EDGE { int u, v, w; }E[100096]; inline bool comp(EDGE e1, EDGE e2) {return e1.w < e2.w;} inline int Find(int i) { if(DSU[i].parent != i) return Find(DSU[i].parent); return i; } inline int Union(int u, int v) { u = Find(u); v = Find(v); if(u == v) return 0; int RET = DSU[u].sum + DSU[u].minimum * DSU[u].odd + DSU[v].sum + DSU[v].minimum * DSU[v].odd; if(DSU[u].ranking < DSU[v].ranking) swap(DSU[u], DSU[v]); DSU[u].ranking += DSU[u].ranking == DSU[v].ranking; DSU[v].parent = u; DSU[u].minimum = min(DSU[v].minimum, DSU[u].minimum); DSU[u].sum += DSU[v].sum; DSU[u].odd ^= DSU[v].odd; RET -= DSU[u].sum + DSU[u].minimum * DSU[u].odd; return RET; } vector <ll> calculate_costs(vector <int>& W, vector <int>& A, vector <int>& B, vector <int>& D) { N = W.size(); Q = D.size(); vector <ll> O(Q); vector <pair <int, int>> MO(Q), V(N); for(int i = 0; i < Q; i++) MO[i] = {D[i], i}; sort(MO.begin(), MO.end()); for(int i = 0; i < N; i++) V[i] = {W[i], i}; sort(V.begin(), V.end()); for(int i = 1; i < N; i++) E[i] = {V[i - 1].second, V[i].second, V[i].first - V[i - 1].first}; sort(E + 1, E + N, comp); for(int i = 0; i < N; i++) DSU[i] = {i, 0, A[i] - B[i], B[i], true}; ll temp = 0; for(int i = 0; i < N; i++) temp += DSU[i].sum + DSU[i].minimum * DSU[i].odd; E[N].w = INT_MAX; int i = 1; for(pair <int, int> p : MO) { // while(E[i].w <= p.first) // { // temp -= Union(E[i].u, E[i].v); // i++; // } O[p.second] = temp; } return O; } int main() { int n, q; cin >> n >> q; vector <int> w(n), a(n), b(n), d(q); for(int i = 0; i < n; i++) cin >> w[i]; for(int i = 0; i < n; i++) cin >> a[i]; for(int i = 0; i < n; i++) cin >> b[i]; for(int i = 0; i < q; i++) cin >> d[i]; for(int x : calculate_costs(w, a, b, d)) cout << x << '\n'; return 0; }

Compilation message (stderr)

/usr/bin/ld: /tmp/ccl3rh6c.o: in function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/ccYCDBK5.o:nile.cpp:(.text.startup+0x0): first defined here
/usr/bin/ld: /tmp/ccl3rh6c.o: in function `main':
grader.cpp:(.text.startup+0x30e): undefined reference to `calculate_costs(std::vector<int, std::allocator<int> >, std::vector<int, std::allocator<int> >, std::vector<int, std::allocator<int> >, std::vector<int, std::allocator<int> >)'
collect2: error: ld returned 1 exit status