Submission #3417507
Source Code Expand
#include <bits/stdc++.h> using namespace std; #define ll long long const int maxn=500010, inf=1e9; struct edge{int too, pre;}e[maxn]; int n, m, x, y, tot; int fa[maxn], a[maxn], b[maxn], last[maxn], pos[maxn]; ll ad[maxn], sum[maxn]; bool v[maxn]; template<typename T> inline void read(T &k) { int f=1; k=0; char c=getchar(); while(c<'0' || c>'9') c=='-'&&(f=-1), c=getchar(); while(c<='9' && c>='0') k=k*10+c-'0', c=getchar(); k*=f; } inline void add(int x, int y){e[++tot]=(edge){y, last[x]}; last[x]=tot;} inline bool cmp(int x, int y){return a[x]<a[y];} int gf(int x){return fa[x]==x?x:fa[x]=gf(fa[x]);} int main() { read(n); read(m); for(int i=1;i<=n;i++) read(a[i]), read(b[i]), a[i]=max(a[i]-b[i], 0); for(int i=1;i<=m;i++) read(x), read(y), add(x, y), add(y, x); for(int i=1;i<=n;i++) pos[i]=i, fa[i]=i, ad[i]=a[i], sum[i]=b[i]; sort(pos+1, pos+1+n, cmp); for(int i=1;i<=n;i++) { int x=pos[i]; v[x]=1; for(int j=last[x], too;j;j=e[j].pre) if(v[too=e[j].too]) { int fx=gf(x), fy=gf(too); if(fx==fy) continue; sum[fx]+=sum[fy]; fa[fy]=fx; ad[fx]=min(ad[fx], ad[fy]+max(0ll, a[x]-ad[fy]-sum[fy])); } } printf("%lld\n", sum[pos[n]]+ad[pos[n]]); return 0; }
Submission Info
Submission Time | |
---|---|
Task | F - Donation |
User | zhoujundong2002 |
Language | C++14 (GCC 5.4.1) |
Score | 1000 |
Code Size | 1240 Byte |
Status | AC |
Exec Time | 43 ms |
Memory | 15488 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 | 4 ms | 12544 KB |
sample_02.txt | AC | 3 ms | 12544 KB |
sample_03.txt | AC | 3 ms | 12544 KB |
subtask_1_01.txt | AC | 3 ms | 12544 KB |
subtask_1_02.txt | AC | 4 ms | 12544 KB |
subtask_1_03.txt | AC | 12 ms | 14592 KB |
subtask_1_04.txt | AC | 3 ms | 12544 KB |
subtask_1_05.txt | AC | 3 ms | 12544 KB |
subtask_1_06.txt | AC | 4 ms | 12544 KB |
subtask_1_07.txt | AC | 3 ms | 12544 KB |
subtask_1_08.txt | AC | 4 ms | 12544 KB |
subtask_1_09.txt | AC | 3 ms | 12544 KB |
subtask_1_10.txt | AC | 3 ms | 12544 KB |
subtask_1_11.txt | AC | 3 ms | 12544 KB |
subtask_1_12.txt | AC | 3 ms | 12544 KB |
subtask_1_13.txt | AC | 10 ms | 14592 KB |
subtask_1_14.txt | AC | 5 ms | 12544 KB |
subtask_1_15.txt | AC | 11 ms | 14720 KB |
subtask_1_16.txt | AC | 29 ms | 15360 KB |
subtask_1_17.txt | AC | 14 ms | 14720 KB |
subtask_1_18.txt | AC | 31 ms | 15360 KB |
subtask_1_19.txt | AC | 15 ms | 14720 KB |
subtask_1_20.txt | AC | 32 ms | 15360 KB |
subtask_1_21.txt | AC | 38 ms | 15360 KB |
subtask_1_22.txt | AC | 15 ms | 14976 KB |
subtask_1_23.txt | AC | 15 ms | 14976 KB |
subtask_1_24.txt | AC | 11 ms | 14848 KB |
subtask_1_25.txt | AC | 9 ms | 12672 KB |
subtask_1_26.txt | AC | 26 ms | 15232 KB |
subtask_1_27.txt | AC | 22 ms | 15232 KB |
subtask_1_28.txt | AC | 4 ms | 12544 KB |
subtask_1_29.txt | AC | 29 ms | 15104 KB |
subtask_1_30.txt | AC | 38 ms | 15360 KB |
subtask_1_31.txt | AC | 8 ms | 14592 KB |
subtask_1_32.txt | AC | 43 ms | 15488 KB |
subtask_1_33.txt | AC | 33 ms | 15488 KB |
subtask_1_34.txt | AC | 32 ms | 15488 KB |
subtask_1_35.txt | AC | 33 ms | 15488 KB |
subtask_1_36.txt | AC | 41 ms | 15488 KB |
subtask_1_37.txt | AC | 31 ms | 15488 KB |
subtask_1_38.txt | AC | 41 ms | 15488 KB |
subtask_1_39.txt | AC | 32 ms | 15488 KB |
subtask_1_40.txt | AC | 32 ms | 15488 KB |
subtask_1_41.txt | AC | 31 ms | 15488 KB |
subtask_1_42.txt | AC | 42 ms | 15488 KB |
subtask_1_43.txt | AC | 32 ms | 15488 KB |
subtask_1_44.txt | AC | 32 ms | 15488 KB |
subtask_1_45.txt | AC | 32 ms | 15488 KB |
subtask_1_46.txt | AC | 42 ms | 15488 KB |
subtask_1_47.txt | AC | 42 ms | 15488 KB |
subtask_1_48.txt | AC | 42 ms | 15488 KB |