Submission #1693720
Source Code Expand
#include <bits/stdc++.h> #define int long long #define N 100010 using namespace std; const int INF = 1LL<<55; const int mod = (1e9)+7; const double EPS = 1e-8; const double PI = 6.0 * asin(0.5); template<class T> T Max(T &a,T b){return a=max(a,b);} template<class T> T Min(T &a,T b){return a=min(a,b);} vector<int> G[N]; int num[N]; int can(int pos,int par){ int sum = 0,mx = 0; for(int to:G[pos]) if(to!=par) sum += num[to],Max(mx,num[to]); int mxpair = sum-mx < mx? (sum-mx): sum/2; if(sum < num[pos]) return 0; int target = sum - num[pos]; if(mxpair < target) return 0; num[pos] = num[pos] - target; return 1; } int check(int pos,int par){ if(par != -1 && G[pos].size() == 1) return 1; int res = 1; for(int to:G[pos]) if(to != par)res &= check(to,pos); res &= can(pos,par); return res; } signed main(){ int n; cin>>n; for(int i=0;i<n;i++) cin>>num[i]; for(int i=0,a,b;i<n-1;i++){ cin>>a>>b; a--,b--; G[a].push_back(b); G[b].push_back(a); } int ans = 1; if(n == 2) ans = num[0] == num[1]; else ans = check(0,-1); cout<<(ans? "YES":"NO")<<endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - Cleaning |
User | haji |
Language | C++14 (GCC 5.4.1) |
Score | 0 |
Code Size | 1179 Byte |
Status | WA |
Exec Time | 117 ms |
Memory | 10496 KB |
Judge Result
Set Name | Sample | All | ||||||
---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 0 / 700 | ||||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | sample1.txt, sample2.txt, sample3.txt |
All | sample1.txt, sample2.txt, sample3.txt, in1.txt, in10.txt, in11.txt, in12.txt, in13.txt, in14.txt, in15.txt, in16.txt, in17.txt, in18.txt, in19.txt, in2.txt, in20.txt, in21.txt, in22.txt, in23.txt, in24.txt, in25.txt, in26.txt, in27.txt, in28.txt, in29.txt, in3.txt, in30.txt, in31.txt, in32.txt, in33.txt, in34.txt, in35.txt, in36.txt, in37.txt, in38.txt, in39.txt, in4.txt, in40.txt, in41.txt, in42.txt, in43.txt, in44.txt, in45.txt, in5.txt, in6.txt, in7.txt, in8.txt, in9.txt, sample1.txt, sample2.txt, sample3.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
in1.txt | AC | 105 ms | 7168 KB |
in10.txt | AC | 103 ms | 7168 KB |
in11.txt | AC | 111 ms | 9728 KB |
in12.txt | AC | 117 ms | 9728 KB |
in13.txt | AC | 94 ms | 10496 KB |
in14.txt | AC | 91 ms | 9984 KB |
in15.txt | AC | 2 ms | 2560 KB |
in16.txt | AC | 2 ms | 2560 KB |
in17.txt | AC | 2 ms | 2560 KB |
in18.txt | AC | 2 ms | 2560 KB |
in19.txt | AC | 103 ms | 7040 KB |
in2.txt | AC | 102 ms | 7168 KB |
in20.txt | AC | 104 ms | 7168 KB |
in21.txt | AC | 105 ms | 7040 KB |
in22.txt | AC | 103 ms | 7040 KB |
in23.txt | AC | 103 ms | 7040 KB |
in24.txt | AC | 104 ms | 7168 KB |
in25.txt | AC | 2 ms | 2560 KB |
in26.txt | AC | 116 ms | 7040 KB |
in27.txt | AC | 115 ms | 7168 KB |
in28.txt | AC | 2 ms | 2560 KB |
in29.txt | AC | 92 ms | 7168 KB |
in3.txt | AC | 104 ms | 7040 KB |
in30.txt | AC | 2 ms | 2560 KB |
in31.txt | AC | 108 ms | 7168 KB |
in32.txt | AC | 109 ms | 7168 KB |
in33.txt | AC | 109 ms | 7168 KB |
in34.txt | AC | 104 ms | 7040 KB |
in35.txt | WA | 104 ms | 7040 KB |
in36.txt | WA | 103 ms | 7168 KB |
in37.txt | AC | 3 ms | 2688 KB |
in38.txt | AC | 104 ms | 7168 KB |
in39.txt | AC | 106 ms | 7040 KB |
in4.txt | AC | 103 ms | 7168 KB |
in40.txt | AC | 105 ms | 7040 KB |
in41.txt | AC | 103 ms | 7040 KB |
in42.txt | AC | 108 ms | 7168 KB |
in43.txt | AC | 110 ms | 7040 KB |
in44.txt | AC | 105 ms | 7040 KB |
in45.txt | AC | 108 ms | 7040 KB |
in5.txt | AC | 108 ms | 7168 KB |
in6.txt | AC | 108 ms | 7168 KB |
in7.txt | AC | 96 ms | 6656 KB |
in8.txt | AC | 25 ms | 3584 KB |
in9.txt | AC | 104 ms | 7040 KB |
sample1.txt | AC | 2 ms | 2560 KB |
sample2.txt | AC | 2 ms | 2560 KB |
sample3.txt | AC | 2 ms | 2560 KB |