Submission #1837240
Source Code Expand
#define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <sstream> #include <iomanip> #include <cstdio> #include <cstdlib> #include <cmath> #include <cctype> #include <cstring> #include <vector> #include <list> #include <queue> #include <deque> #include <stack> #include <map> #include <set> #include <algorithm> #include <iterator> #include <bitset> #include <ctime> #include<complex> using namespace std; #define FOR(i,a,b) for (int i = (a); i < (b); i++) #define RFOR(i,b,a) for (int i = (b)-1; i >= (a); i--) #define ITER(it,a) for (__typeof(a.begin()) it = a.begin(); it != a.end(); it++) #define FILL(a,value) memset(a, value, sizeof(a)) #define SZ(a) (int)a.size() #define ALL(a) a.begin(), a.end() #define PB push_back #define MP make_pair typedef long long LL; typedef vector<int> VI; typedef pair<int, int> PII; const double PI = acos(-1.0); const int INF = 1000 * 1000 * 1000 + 7; const LL LINF = INF * (LL)INF; const int MAX = 1000 * 100 + 47; int n; int A[MAX]; vector<int> g[MAX]; vector<int> L[MAX]; void no() { cout << "NO" << endl; exit(0); } LL dfs(int v, int p) { if (SZ(g[v]) == 1 && v != 0) return A[v]; FOR(i, 0, SZ(g[v])) { int to = g[v][i]; if (to == p) continue; L[v].push_back(dfs(to, v)); } LL s = 0; int maxx = -INF; FOR(i, 0, SZ(L[v])) { s += L[v][i]; maxx = max(maxx, L[v][i]); } if (A[v] > s) no(); LL all = s; if (maxx > s - maxx) { all = 2 * (s - maxx); } if (2 * (s - A[v]) > all) no(); LL totop = s - 2 * (s - A[v]); if (v == 0) { if (SZ(g[v]) == 1 && A[v] != totop) no(); if (SZ(g[v]) != 1 && totop != 0) no(); } return totop; } int main() { //freopen("in.txt", "r", stdin); //freopen("out.txt", "w", stdout); ios::sync_with_stdio(false); cin.tie(0); cin >> n; FOR(i, 0, n) cin >> A[i]; FOR(i, 0, n - 1) { int a, b; cin >> a >> b; a--; b--; g[a].push_back(b); g[b].push_back(a); } dfs(0, 0); cout << "YES" << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - Cleaning |
User | vjudge4 |
Language | C++14 (Clang 3.8.0) |
Score | 700 |
Code Size | 1942 Byte |
Status | AC |
Exec Time | 301 ms |
Memory | 20992 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 | 259 ms | 10240 KB |
in10.txt | AC | 254 ms | 10240 KB |
in11.txt | AC | 289 ms | 19200 KB |
in12.txt | AC | 301 ms | 19200 KB |
in13.txt | AC | 235 ms | 20992 KB |
in14.txt | AC | 242 ms | 19712 KB |
in15.txt | AC | 3 ms | 4992 KB |
in16.txt | AC | 3 ms | 4992 KB |
in17.txt | AC | 3 ms | 4992 KB |
in18.txt | AC | 3 ms | 4992 KB |
in19.txt | AC | 254 ms | 9344 KB |
in2.txt | AC | 263 ms | 10240 KB |
in20.txt | AC | 256 ms | 8576 KB |
in21.txt | AC | 259 ms | 8576 KB |
in22.txt | AC | 265 ms | 9088 KB |
in23.txt | AC | 266 ms | 10240 KB |
in24.txt | AC | 264 ms | 10240 KB |
in25.txt | AC | 3 ms | 4992 KB |
in26.txt | AC | 279 ms | 8576 KB |
in27.txt | AC | 284 ms | 8576 KB |
in28.txt | AC | 3 ms | 4992 KB |
in29.txt | AC | 224 ms | 8576 KB |
in3.txt | AC | 264 ms | 10240 KB |
in30.txt | AC | 3 ms | 4992 KB |
in31.txt | AC | 258 ms | 9984 KB |
in32.txt | AC | 258 ms | 8960 KB |
in33.txt | AC | 259 ms | 10240 KB |
in34.txt | AC | 258 ms | 10240 KB |
in35.txt | AC | 262 ms | 10240 KB |
in36.txt | AC | 261 ms | 10240 KB |
in37.txt | AC | 5 ms | 4992 KB |
in38.txt | AC | 264 ms | 9728 KB |
in39.txt | AC | 258 ms | 9984 KB |
in4.txt | AC | 263 ms | 10240 KB |
in40.txt | AC | 252 ms | 8960 KB |
in41.txt | AC | 248 ms | 9088 KB |
in42.txt | AC | 259 ms | 10240 KB |
in43.txt | AC | 258 ms | 10240 KB |
in44.txt | AC | 274 ms | 10112 KB |
in45.txt | AC | 264 ms | 10240 KB |
in5.txt | AC | 263 ms | 10240 KB |
in6.txt | AC | 265 ms | 10240 KB |
in7.txt | AC | 230 ms | 9600 KB |
in8.txt | AC | 63 ms | 6144 KB |
in9.txt | AC | 261 ms | 10240 KB |
sample1.txt | AC | 3 ms | 4992 KB |
sample2.txt | AC | 3 ms | 4992 KB |
sample3.txt | AC | 3 ms | 4992 KB |