Submission #1510939
Source Code Expand
#include <cassert> #include <cctype> #include <cerrno> #include <cfloat> #include <ciso646> #include <climits> #include <clocale> #include <cmath> #include <csetjmp> #include <csignal> #include <cstdarg> #include <cstddef> #include <cstdio> #include <cstdlib> #include <cstring> #include <ctime> #if __cplusplus >= 201103L #include <ccomplex> #include <cfenv> #include <cinttypes> #include <cstdbool> #include <cstdint> #include <ctgmath> #include <cwchar> #include <cwctype> #endif #include <algorithm> #include <bitset> #include <complex> #include <deque> #include <exception> #include <fstream> #include <functional> #include <iomanip> #include <ios> #include <iosfwd> #include <iostream> #include <istream> #include <iterator> #include <limits> #include <list> #include <locale> #include <map> #include <memory> #include <new> #include <numeric> #include <ostream> #include <queue> #include <set> #include <sstream> #include <stack> #include <stdexcept> #include <streambuf> #include <string> #include <typeinfo> #include <utility> #include <valarray> #include <vector> #if __cplusplus >= 201103L #include <array> #include <atomic> #include <chrono> #include <condition_variable> #include <forward_list> #include <future> #include <initializer_list> #include <mutex> #include <random> #include <ratio> #include <regex> #include <scoped_allocator> #include <system_error> #include <thread> #include <tuple> #include <typeindex> #include <type_traits> #include <unordered_map> #include <unordered_set> #endif #pragma comment(linker, "/STACK:1024000000,1024000000") #define MOD 1000000007 #define INF 0x3f3f3f3f #define EPS 1e-10 #define set0(x) memset((x),0,sizeof(x)) #define setINF(x) memset((x),63,sizeof(x)) using namespace std; int n,a[100005],s; vector<int> g[100005]; int dfs(int x,int p){ int cnt=0,mx=0; for(int i=0;i<g[x].size();i++){ int u=g[x][i]; if(u==p)continue; int t=dfs(u,x); cnt+=t; mx=max(mx,t); } if(s==x)return a[x]-cnt; if(g[x].size()==1)return a[x]; if(a[x]*2<cnt || mx>a[x] || a[x]>cnt){ cout<<"NO\n"; exit(0); } return a[x]*2-cnt; } int main(){ ios::sync_with_stdio(false); cin.tie(0); cin>>n; for(int i=0;i<n;i++){ cin>>a[i]; } for(int i=1;i<n;i++){ int u,v; cin>>u>>v; u--; v--; g[u].push_back(v); g[v].push_back(u); } for(int i=0;i<n;i++){ if(g[i].size()==1){ if(dfs(s=i,-1))cout<<"NO\n"; else cout<<"YES\n"; break; } } return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - Cleaning |
User | fts2001 |
Language | C++14 (GCC 5.4.1) |
Score | 700 |
Code Size | 2550 Byte |
Status | AC |
Exec Time | 49 ms |
Memory | 13952 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 700 / 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 | 49 ms | 6272 KB |
in10.txt | AC | 44 ms | 6272 KB |
in11.txt | AC | 49 ms | 13952 KB |
in12.txt | AC | 49 ms | 13952 KB |
in13.txt | AC | 47 ms | 13952 KB |
in14.txt | AC | 44 ms | 13952 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 | 43 ms | 7936 KB |
in2.txt | AC | 44 ms | 6272 KB |
in20.txt | AC | 43 ms | 6272 KB |
in21.txt | AC | 41 ms | 6272 KB |
in22.txt | AC | 42 ms | 6272 KB |
in23.txt | AC | 44 ms | 6272 KB |
in24.txt | AC | 45 ms | 6272 KB |
in25.txt | AC | 2 ms | 2560 KB |
in26.txt | AC | 42 ms | 6272 KB |
in27.txt | AC | 42 ms | 6272 KB |
in28.txt | AC | 2 ms | 2560 KB |
in29.txt | AC | 38 ms | 6272 KB |
in3.txt | AC | 44 ms | 6272 KB |
in30.txt | AC | 2 ms | 2560 KB |
in31.txt | AC | 47 ms | 6272 KB |
in32.txt | AC | 43 ms | 6272 KB |
in33.txt | AC | 47 ms | 6272 KB |
in34.txt | AC | 45 ms | 6272 KB |
in35.txt | AC | 43 ms | 6272 KB |
in36.txt | AC | 41 ms | 6272 KB |
in37.txt | AC | 3 ms | 2688 KB |
in38.txt | AC | 44 ms | 6272 KB |
in39.txt | AC | 43 ms | 6272 KB |
in4.txt | AC | 44 ms | 6272 KB |
in40.txt | AC | 41 ms | 6272 KB |
in41.txt | AC | 42 ms | 6272 KB |
in42.txt | AC | 45 ms | 6272 KB |
in43.txt | AC | 45 ms | 6272 KB |
in44.txt | AC | 42 ms | 6272 KB |
in45.txt | AC | 44 ms | 6272 KB |
in5.txt | AC | 45 ms | 6272 KB |
in6.txt | AC | 45 ms | 6272 KB |
in7.txt | AC | 40 ms | 5888 KB |
in8.txt | AC | 12 ms | 3456 KB |
in9.txt | AC | 44 ms | 6272 KB |
sample1.txt | AC | 2 ms | 2560 KB |
sample2.txt | AC | 2 ms | 2560 KB |
sample3.txt | AC | 2 ms | 2560 KB |