# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
367508 | 2021-02-17T14:28:20 Z | cpp219 | Uzastopni (COCI15_uzastopni) | C++14 | 104 ms | 25452 KB |
#include <bits/stdc++.h> #define ll int #define ld long double #define fs first #define sc second using namespace std; const ll N = 1e4 + 9; const ll inf = 1e9 + 7; typedef pair<int,int> LL; vector<ll> g[N],q[N]; ll n,v[N],x,y; bitset<110> flag[N][110]; vector<LL> s[N]; void DFS(ll u){ for (auto i : g[u]) DFS(i); for (ll i = 1;i <= 100;i++) q[i].clear(); for (auto i : g[u]){ for (auto j : s[i]) q[j.fs].push_back(j.sc); } for (ll l = 109;l > 0;l--){ if (l == v[u]){ flag[u][l] |= flag[u][l + 1]; flag[u][l].set(l); } else{ for (auto i : q[l]){ if (l > v[u] || i < v[u]){ flag[u][l] |= flag[u][i + 1]; flag[u][l].set(i); } } } for (ll i = 100;i >= l;i--) if (flag[u][l][i] == 1 && l <= v[u] && i >= v[u]) s[u].push_back({l,i}); } } int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); #define task "tst" if (fopen(task".INP","r")){ freopen(task".INP","r",stdin); //freopen(task".OUT","w",stdout); } cin>>n; for (ll i = 1;i <= n;i++) cin>>v[i]; for (ll i = 1;i < n;i++) cin>>x>>y,g[x].push_back(y); DFS(1); cout<<s[1].size(); }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 1132 KB | Output is correct |
2 | Correct | 2 ms | 1132 KB | Output is correct |
3 | Correct | 2 ms | 1132 KB | Output is correct |
4 | Correct | 2 ms | 1132 KB | Output is correct |
5 | Correct | 2 ms | 1260 KB | Output is correct |
6 | Correct | 2 ms | 1260 KB | Output is correct |
7 | Correct | 2 ms | 1260 KB | Output is correct |
8 | Correct | 2 ms | 1260 KB | Output is correct |
9 | Correct | 2 ms | 1260 KB | Output is correct |
10 | Correct | 3 ms | 1260 KB | Output is correct |
11 | Correct | 86 ms | 18796 KB | Output is correct |
12 | Correct | 84 ms | 18796 KB | Output is correct |
13 | Correct | 87 ms | 18924 KB | Output is correct |
14 | Correct | 93 ms | 25452 KB | Output is correct |
15 | Correct | 94 ms | 25452 KB | Output is correct |
16 | Correct | 104 ms | 25452 KB | Output is correct |
17 | Correct | 103 ms | 18796 KB | Output is correct |
18 | Correct | 87 ms | 18796 KB | Output is correct |
19 | Correct | 89 ms | 21228 KB | Output is correct |
20 | Correct | 88 ms | 21228 KB | Output is correct |