Submission #9039681
Source Code Expand
#include <cstdio>
#include <algorithm>
#include <vector>
typedef long long LL;
const LL Infll = 0x3f3f3f3f3f3f3f3f;
const int MN = 100005;
int N, M, A[MN], B[MN], P[MN], vis[MN];
std::vector<int> G[MN], T[MN];
int fa[MN];
inline int ff(int x) { return fa[x] ? fa[x] = ff(fa[x]) : x; }
LL f[MN], s[MN];
void DFS(int u) {
s[u] = B[u], f[u] = Infll;
for (auto v : T[u]) DFS(v), s[u] += s[v];
for (auto v : T[u]) f[u] = std::min(f[u], s[u] - s[v] + std::max((LL)A[u], f[v]));
if (T[u].empty()) f[u] = A[u] + B[u];
}
int main() {
scanf("%d%d", &N, &M);
for (int i = 1; i <= N; ++i)
scanf("%d%d", &A[i], &B[i]),
A[i] = std::max(A[i] - B[i], 0),
P[i] = i;
for (int i = 1, x, y; i <= M; ++i)
scanf("%d%d", &x, &y),
G[x].push_back(y),
G[y].push_back(x);
std::sort(P + 1, P + N + 1, [](int i, int j) { return A[i] < A[j]; });
for (int i = 1; i <= N; ++i) {
int u = P[i];
for (auto v : G[u])
if (vis[v] && ff(v) != u)
T[u].push_back(ff(v)),
fa[ff(v)] = u;
vis[u] = 1;
}
DFS(P[N]);
printf("%lld\n", f[P[N]]);
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | F - Donation |
| User | PinkRabbit |
| Language | C++14 (GCC 5.4.1) |
| Score | 1000 |
| Code Size | 1101 Byte |
| Status | AC |
| Exec Time | 79 ms |
| Memory | 18428 KiB |
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:25:23: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d%d", &N, &M);
^
./Main.cpp:29:11: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
P[i] = i;
^
./Main.cpp:33:20: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
G[y].push_back(x);
^
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 | 3 ms | 6528 KiB |
| sample_02.txt | AC | 3 ms | 6528 KiB |
| sample_03.txt | AC | 3 ms | 6528 KiB |
| subtask_1_01.txt | AC | 3 ms | 6528 KiB |
| subtask_1_02.txt | AC | 5 ms | 6656 KiB |
| subtask_1_03.txt | AC | 19 ms | 7552 KiB |
| subtask_1_04.txt | AC | 3 ms | 6528 KiB |
| subtask_1_05.txt | AC | 3 ms | 6528 KiB |
| subtask_1_06.txt | AC | 3 ms | 6528 KiB |
| subtask_1_07.txt | AC | 3 ms | 6528 KiB |
| subtask_1_08.txt | AC | 3 ms | 6528 KiB |
| subtask_1_09.txt | AC | 3 ms | 6528 KiB |
| subtask_1_10.txt | AC | 3 ms | 6528 KiB |
| subtask_1_11.txt | AC | 3 ms | 6528 KiB |
| subtask_1_12.txt | AC | 3 ms | 6528 KiB |
| subtask_1_13.txt | AC | 16 ms | 7424 KiB |
| subtask_1_14.txt | AC | 6 ms | 6680 KiB |
| subtask_1_15.txt | AC | 18 ms | 8192 KiB |
| subtask_1_16.txt | AC | 60 ms | 13184 KiB |
| subtask_1_17.txt | AC | 25 ms | 8704 KiB |
| subtask_1_18.txt | AC | 64 ms | 13824 KiB |
| subtask_1_19.txt | AC | 25 ms | 9088 KiB |
| subtask_1_20.txt | AC | 66 ms | 14336 KiB |
| subtask_1_21.txt | AC | 66 ms | 17148 KiB |
| subtask_1_22.txt | AC | 28 ms | 11008 KiB |
| subtask_1_23.txt | AC | 28 ms | 11008 KiB |
| subtask_1_24.txt | AC | 20 ms | 8960 KiB |
| subtask_1_25.txt | AC | 15 ms | 7680 KiB |
| subtask_1_26.txt | AC | 56 ms | 12160 KiB |
| subtask_1_27.txt | AC | 46 ms | 11264 KiB |
| subtask_1_28.txt | AC | 5 ms | 6784 KiB |
| subtask_1_29.txt | AC | 51 ms | 11904 KiB |
| subtask_1_30.txt | AC | 69 ms | 13312 KiB |
| subtask_1_31.txt | AC | 12 ms | 7424 KiB |
| subtask_1_32.txt | AC | 79 ms | 13696 KiB |
| subtask_1_33.txt | AC | 75 ms | 13696 KiB |
| subtask_1_34.txt | AC | 70 ms | 13696 KiB |
| subtask_1_35.txt | AC | 74 ms | 13696 KiB |
| subtask_1_36.txt | AC | 77 ms | 13696 KiB |
| subtask_1_37.txt | AC | 69 ms | 13696 KiB |
| subtask_1_38.txt | AC | 75 ms | 16380 KiB |
| subtask_1_39.txt | AC | 68 ms | 17532 KiB |
| subtask_1_40.txt | AC | 79 ms | 18428 KiB |
| subtask_1_41.txt | AC | 62 ms | 15356 KiB |
| subtask_1_42.txt | AC | 76 ms | 13568 KiB |
| subtask_1_43.txt | AC | 68 ms | 13568 KiB |
| subtask_1_44.txt | AC | 68 ms | 13568 KiB |
| subtask_1_45.txt | AC | 68 ms | 13568 KiB |
| subtask_1_46.txt | AC | 77 ms | 13696 KiB |
| subtask_1_47.txt | AC | 79 ms | 13696 KiB |
| subtask_1_48.txt | AC | 77 ms | 13696 KiB |