Submission #3025117
Source Code Expand
#ifndef BZ #pragma GCC optimize "-O3" #endif #include <bits/stdc++.h> #define FASTIO #define ALL(v) (v).begin(), (v).end() #define rep(i, l, r) for (int i = (l); i < (r); ++i) #ifdef FASTIO #define scanf abacaba #define printf abacaba #endif typedef long long ll; typedef long double ld; typedef unsigned long long ull; using namespace std; /* ll pw(ll a, ll b) { ll ans = 1; while (b) { while (!(b & 1)) b >>= 1, a = (a * a) % MOD; ans = (ans * a) % MOD, --b; } return ans; } */ const int MAXN = 120000; int n, m; ll a[MAXN]; ll b[MAXN]; int en[MAXN]; int p[MAXN]; int sz[MAXN]; vector<int> eds[MAXN]; set<pair<ll, int> > ss[MAXN]; ll sum[MAXN]; int get(int x) { if (x == p[x]) return x; return p[x] = get(p[x]); } int main() { #ifdef FASTIO ios_base::sync_with_stdio(false), cin.tie(0), cout.tie(0); #endif cin >> n >> m; for (int i = 0; i < n; ++i) { cin >> a[i] >> b[i]; a[i] = max(a[i], b[i]); } for (int i = 0; i < m; ++i) { int a, b; cin >> a >> b; --a, --b; eds[a].push_back(b); eds[b].push_back(a); } ll l = -1; ll r = 1e9; while (r - l > 1) { ll mid = (l + r) >> 1; fill(en, en + n, 0); iota(p, p + n, 0); for (int i = 0; i < n; ++i) ss[i].clear(); for (int i = 0; i < n; ++i) { if (!en[i] && a[i] <= b[i] + mid) { en[i] = 1; sum[i] = mid + b[i]; queue<int> qu; qu.push(i); while (!qu.empty()) { int x = qu.front(); qu.pop(); for (int j: eds[x]) if (get(j) != i) ss[i].emplace(a[j] - b[j], j); while (!ss[i].empty() && ss[i].begin()->first <= sum[i]) { int x = ss[i].begin()->second; ss[i].erase(ss[i].begin()); if (!en[x]) { sum[i] += b[x]; en[x] = 1; p[x] = i; qu.push(x); } else { x = get(x); if (x == i) continue; sum[i] += sum[x] - mid; if (ss[x].size() > ss[i].size()) swap(ss[x], ss[i]); for (auto e: ss[x]) ss[i].insert(e); ss[x].clear(); p[x] = i; } } } } } if (accumulate(en, en + n, 0) == n) r = mid; else l = mid; } cout << r + accumulate(b, b + n, 0ll) << "\n"; return 0; }
Submission Info
Submission Time | |
---|---|
Task | F - Donation |
User | LHiC |
Language | C++14 (GCC 5.4.1) |
Score | 1000 |
Code Size | 2298 Byte |
Status | AC |
Exec Time | 850 ms |
Memory | 18672 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 1000 / 1000 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | sample_01.txt, sample_02.txt, sample_03.txt |
All | sample_01.txt, sample_02.txt, sample_03.txt, sample_01.txt, sample_02.txt, sample_03.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_16.txt, subtask_1_17.txt, subtask_1_18.txt, subtask_1_19.txt, subtask_1_20.txt, subtask_1_21.txt, subtask_1_22.txt, subtask_1_23.txt, subtask_1_24.txt, subtask_1_25.txt, subtask_1_26.txt, subtask_1_27.txt, subtask_1_28.txt, subtask_1_29.txt, subtask_1_30.txt, subtask_1_31.txt, subtask_1_32.txt, subtask_1_33.txt, subtask_1_34.txt, subtask_1_35.txt, subtask_1_36.txt, subtask_1_37.txt, subtask_1_38.txt, subtask_1_39.txt, subtask_1_40.txt, subtask_1_41.txt, subtask_1_42.txt, subtask_1_43.txt, subtask_1_44.txt, subtask_1_45.txt, subtask_1_46.txt, subtask_1_47.txt, subtask_1_48.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
sample_01.txt | AC | 5 ms | 11648 KB |
sample_02.txt | AC | 5 ms | 11648 KB |
sample_03.txt | AC | 5 ms | 11648 KB |
subtask_1_01.txt | AC | 5 ms | 11648 KB |
subtask_1_02.txt | AC | 9 ms | 11776 KB |
subtask_1_03.txt | AC | 30 ms | 12672 KB |
subtask_1_04.txt | AC | 6 ms | 11648 KB |
subtask_1_05.txt | AC | 6 ms | 11648 KB |
subtask_1_06.txt | AC | 6 ms | 11648 KB |
subtask_1_07.txt | AC | 6 ms | 11648 KB |
subtask_1_08.txt | AC | 6 ms | 11648 KB |
subtask_1_09.txt | AC | 5 ms | 11648 KB |
subtask_1_10.txt | AC | 7 ms | 11648 KB |
subtask_1_11.txt | AC | 6 ms | 11648 KB |
subtask_1_12.txt | AC | 6 ms | 11648 KB |
subtask_1_13.txt | AC | 25 ms | 12544 KB |
subtask_1_14.txt | AC | 10 ms | 11800 KB |
subtask_1_15.txt | AC | 58 ms | 12288 KB |
subtask_1_16.txt | AC | 316 ms | 14464 KB |
subtask_1_17.txt | AC | 78 ms | 12672 KB |
subtask_1_18.txt | AC | 355 ms | 14848 KB |
subtask_1_19.txt | AC | 92 ms | 12416 KB |
subtask_1_20.txt | AC | 321 ms | 14464 KB |
subtask_1_21.txt | AC | 616 ms | 17680 KB |
subtask_1_22.txt | AC | 257 ms | 14336 KB |
subtask_1_23.txt | AC | 252 ms | 14360 KB |
subtask_1_24.txt | AC | 177 ms | 13696 KB |
subtask_1_25.txt | AC | 61 ms | 12160 KB |
subtask_1_26.txt | AC | 260 ms | 14208 KB |
subtask_1_27.txt | AC | 213 ms | 13696 KB |
subtask_1_28.txt | AC | 19 ms | 11776 KB |
subtask_1_29.txt | AC | 241 ms | 16000 KB |
subtask_1_30.txt | AC | 317 ms | 14720 KB |
subtask_1_31.txt | AC | 35 ms | 12032 KB |
subtask_1_32.txt | AC | 369 ms | 14976 KB |
subtask_1_33.txt | AC | 375 ms | 14976 KB |
subtask_1_34.txt | AC | 388 ms | 15104 KB |
subtask_1_35.txt | AC | 385 ms | 15232 KB |
subtask_1_36.txt | AC | 272 ms | 14976 KB |
subtask_1_37.txt | AC | 271 ms | 14976 KB |
subtask_1_38.txt | AC | 713 ms | 18500 KB |
subtask_1_39.txt | AC | 778 ms | 18492 KB |
subtask_1_40.txt | AC | 850 ms | 18532 KB |
subtask_1_41.txt | AC | 740 ms | 18672 KB |
subtask_1_42.txt | AC | 327 ms | 14976 KB |
subtask_1_43.txt | AC | 322 ms | 14976 KB |
subtask_1_44.txt | AC | 328 ms | 14976 KB |
subtask_1_45.txt | AC | 327 ms | 15232 KB |
subtask_1_46.txt | AC | 389 ms | 17536 KB |
subtask_1_47.txt | AC | 363 ms | 15232 KB |
subtask_1_48.txt | AC | 411 ms | 15104 KB |