QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#242939 | #6654. 大纲 | phtniit | AC ✓ | 21ms | 41012kb | C++14 | 1.9kb | 2023-11-07 18:57:02 | 2023-11-07 18:57:02 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
typedef long double ldb;
typedef long long i64;
typedef unsigned long long u64;
typedef unsigned int u32;
typedef pair<int, int> pii;
// std::mt19937_64 rng(std::chrono::steady_clock::now().time_since_epoch().count());
// priority_queue<int, vector<int>, greater<int>> minq;
// ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
// fflush(stdout);
const int inf = 1000000007;
const i64 prm = 998244353;
const i64 inf2 = ((i64)inf) * inf;
const int maxn = 1100010; // 1.1e6
inline int read(){
int x=0,f=0; char ch=getchar();
while(!isdigit(ch)) f|=(ch==45),ch=getchar();
while(isdigit(ch)) x=(x<<3)+(x<<1)+(ch^48),ch=getchar();
return f?-x:x;
}
const int lim = inf + maxn;
int a[maxn], b[maxn];
int w[maxn];
vector<int> g[maxn];
bool dfs(int u) {
if (g[u].size() > 0) { // not leaf
for (auto v: g[u]) {
if (not dfs(v)) {
return false;
}
}
int mx = 0, cnt1 = 0;
for (auto v: g[u]) {
if (mx == b[v]) {
cnt1++;
}
if (mx < b[v]) {
mx = b[v];
cnt1 = 1;
}
}
b[u] = mx + (cnt1 > 1);
int mn = 0, cnt2 = 0;
for (auto v: g[u]) {
if (mn == a[v]) {
cnt2++;
}
if (mn < a[v]) {
mn = a[v];
cnt2 = 1;
}
}
a[u] = mn + (cnt2 > 1);
} else {
a[u] = 0;
b[u] = lim;
}
if (w[u] != -1) {
if (w[u] < a[u]) return false;
if (w[u] > b[u]) return false;
a[u] = b[u] = w[u];
}
return true;
}
void once() {
int n = read();
for (int i = 1; i <= n; ++i) {
w[i] = read();
g[i].clear();
}
for (int i = 1; i < n; ++i) {
int u = read(), v = read();
g[u].push_back(v);
}
if (not dfs(1)) {
puts("Unreasonable");
} else {
puts("Reasonable");
}
}
int main() {
int tes = 1;
tes = read();
while (tes--) {
once();
}
return 0;
}
详细
Test #1:
score: 100
Accepted
time: 13ms
memory: 39552kb
input:
2 65535 -1 1000000000 -1 1000000000 1000000000 1000000000 -1 -1 -1 -1 -1 -1 1000000000 1000000000 1000000000 1000000000 -1 1000000000 1000000000 -1 1000000000 -1 1000000000 1000000000 -1 -1 -1 -1 -1 -1 -1 -1 -1 1000000000 1000000000 -1 1000000000 -1 -1 -1 1000000000 1000000000 1000000000 1000000000 ...
output:
Reasonable Unreasonable
result:
ok 2 lines
Test #2:
score: 0
Accepted
time: 19ms
memory: 37556kb
input:
2 65535 1000000000 -1 -1 -1 1000000000 -1 -1 -1 -1 -1 1000000000 1000000000 -1 1000000000 -1 -1 -1 -1 1000000000 -1 1000000000 1000000000 -1 1000000000 1000000000 -1 1000000000 -1 1000000000 -1 1000000000 1000000000 -1 -1 1000000000 -1 -1 1000000000 1000000000 1000000000 -1 -1 -1 -1 1000000000 10000...
output:
Unreasonable Reasonable
result:
ok 2 lines
Test #3:
score: 0
Accepted
time: 18ms
memory: 41012kb
input:
2 99999 49999 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -...
output:
Reasonable Reasonable
result:
ok 2 lines
Test #4:
score: 0
Accepted
time: 8ms
memory: 35436kb
input:
100000 2 503237730 503237730 1 2 2 940454426 940454426 1 2 2 248079005 -1 1 2 2 74614856 74614857 1 2 2 64379558 64379558 1 2 2 306909809 -1 1 2 2 -1 966615641 1 2 2 698391106 698391107 1 2 2 223750421 -1 1 2 2 705201637 705201637 1 2 2 256204065 -1 1 2 2 723177111 168932444 1 2 2 228089673 22808967...
output:
Reasonable Reasonable Reasonable Unreasonable Reasonable Reasonable Reasonable Unreasonable Reasonable Reasonable Reasonable Unreasonable Reasonable Unreasonable Reasonable Reasonable Unreasonable Reasonable Reasonable Reasonable Unreasonable Reasonable Reasonable Reasonable Reasonable Reasonable Un...
result:
ok 100000 lines
Test #5:
score: 0
Accepted
time: 10ms
memory: 35108kb
input:
66666 3 530204916 -1 -1 2 3 1 2 3 476528072 476528072 476528072 1 2 2 3 3 -1 841888306 841888306 1 3 1 2 3 319191766 319191766 -1 3 2 1 3 3 177048577 531221023 -1 1 2 1 3 3 598759147 991100533 416954424 1 3 3 2 3 210423414 263192668 -1 1 2 1 3 3 902429034 -1 961317874 1 3 1 2 3 662280681 -1 33815376...
output:
Reasonable Reasonable Reasonable Reasonable Unreasonable Unreasonable Unreasonable Unreasonable Unreasonable Unreasonable Unreasonable Unreasonable Unreasonable Reasonable Reasonable Reasonable Reasonable Reasonable Reasonable Unreasonable Unreasonable Reasonable Unreasonable Unreasonable Reasonable...
result:
ok 66666 lines
Test #6:
score: 0
Accepted
time: 8ms
memory: 35340kb
input:
50000 3 -1 6 6 1 3 1 2 5 0 -1 -1 0 -1 4 5 4 2 2 3 1 4 3 859025665 859025665 859025665 1 2 2 3 4 1 1 1 1 3 2 2 4 1 3 3 2 -1 -1 3 2 1 3 4 2 1 1 2 4 2 1 4 4 3 2 2 2 1 2 3 -1 1 2 1 3 3 2 3 1 1 1 1 3 3 2 2 -1 8 1 2 4 4 4 296285101 1 2 3 1 2 1 4 4 -1 -1 -1 0 2 4 1 2 2 3 5 -1 0 0 0 0 1 4 1 2 1 5 1 3 4 -1 6...
output:
Reasonable Unreasonable Reasonable Reasonable Reasonable Reasonable Reasonable Unreasonable Reasonable Reasonable Unreasonable Reasonable Reasonable Reasonable Reasonable Reasonable Unreasonable Reasonable Reasonable Unreasonable Reasonable Reasonable Unreasonable Unreasonable Reasonable Unreasonabl...
result:
ok 50000 lines
Test #7:
score: 0
Accepted
time: 12ms
memory: 33576kb
input:
20000 9 2 1 1 2 0 2 2 2 0 9 5 6 9 6 2 4 7 1 4 8 6 6 3 7 8 5 14672963 -1 14672966 -1 -1 5 3 2 5 4 2 1 4 18 3 2 0 3 0 0 0 2 1 -1 2 2 1 0 0 0 2 0 4 13 4 14 4 16 4 11 4 12 4 10 4 17 8 18 4 9 14 5 4 7 8 2 1 8 18 3 1 4 4 15 4 6 12 -1 3 -1 -1 -1 1 -1 -1 -1 0 -1 0 8 9 12 5 10 7 4 2 4 12 2 10 3 4 2 11 1 3 2 ...
output:
Reasonable Unreasonable Reasonable Reasonable Reasonable Reasonable Unreasonable Unreasonable Reasonable Reasonable Reasonable Unreasonable Unreasonable Unreasonable Unreasonable Unreasonable Reasonable Unreasonable Reasonable Reasonable Reasonable Unreasonable Unreasonable Reasonable Reasonable Rea...
result:
ok 20000 lines
Test #8:
score: 0
Accepted
time: 12ms
memory: 33696kb
input:
5000 54 -1 -1 0 -1 -1 0 -1 3 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 0 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 0 -1 1 -1 -1 -1 0 0 0 -1 0 -1 0 -1 -1 -1 -1 -1 -1 12 53 45 15 38 5 22 17 16 38 50 3 53 34 32 47 36 50 35 36 13 32 25 10 24 16 3 48 6 39 42 7 41 23 15 20 8 14 49 28 26 11 34 18 28 8 17 24 47 40 ...
output:
Reasonable Unreasonable Reasonable Unreasonable Reasonable Unreasonable Reasonable Unreasonable Unreasonable Unreasonable Reasonable Reasonable Unreasonable Reasonable Unreasonable Reasonable Reasonable Reasonable Reasonable Unreasonable Unreasonable Unreasonable Reasonable Unreasonable Unreasonable...
result:
ok 5000 lines
Test #9:
score: 0
Accepted
time: 12ms
memory: 34160kb
input:
2000 93 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 22 21 27 51 73 ...
output:
Reasonable Unreasonable Reasonable Unreasonable Reasonable Unreasonable Unreasonable Reasonable Unreasonable Reasonable Reasonable Reasonable Reasonable Unreasonable Reasonable Unreasonable Reasonable Reasonable Unreasonable Unreasonable Reasonable Reasonable Unreasonable Reasonable Unreasonable Unr...
result:
ok 2000 lines
Test #10:
score: 0
Accepted
time: 17ms
memory: 33728kb
input:
500 185 7 1 1 -1 1 -1 -1 -1 1 0 -1 1 0 1 1 -1 1 1 0 0 2 2 1 2 2 1 1 1 1 0 -1 7 -1 0 -1 -1 1 1 1 -1 -1 0 -1 0 -1 2 -1 0 0 1 1 -1 0 2 -1 -1 1 2 1 1 0 2 0 -1 -1 1 2 4 -1 4 0 -1 0 1 3 2 -1 -1 0 -1 3 2 0 2 2 0 0 0 0 2 -1 -1 -1 0 -1 2 1 -1 1 -1 7 0 1 -1 1 -1 0 1 0 1 5 1 2 1 1 -1 2 0 2 2 -1 0 -1 1 1 2 1 1 ...
output:
Unreasonable Unreasonable Reasonable Reasonable Unreasonable Reasonable Unreasonable Reasonable Unreasonable Unreasonable Unreasonable Unreasonable Reasonable Unreasonable Unreasonable Reasonable Unreasonable Unreasonable Reasonable Unreasonable Unreasonable Unreasonable Reasonable Unreasonable Reas...
result:
ok 500 lines
Test #11:
score: 0
Accepted
time: 11ms
memory: 35164kb
input:
200 1068 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 ...
output:
Reasonable Unreasonable Reasonable Unreasonable Unreasonable Unreasonable Reasonable Reasonable Unreasonable Unreasonable Unreasonable Unreasonable Reasonable Unreasonable Unreasonable Unreasonable Unreasonable Reasonable Unreasonable Unreasonable Reasonable Unreasonable Unreasonable Unreasonable Re...
result:
ok 200 lines
Test #12:
score: 0
Accepted
time: 15ms
memory: 35236kb
input:
50 6555 10 -1 2 1 1 -1 2 2 2 2 2 -1 2 1 1 0 1 2 2 0 0 0 2 1 3 0 0 0 -1 1 1 1 -1 0 1 1 1 0 2 -1 2 -1 1 2 1 1 -1 2 2 0 2 2 -1 1 2 -1 2 0 2 -1 1 0 3 1 0 1 0 1 0 -1 2 0 2 1 -1 1 0 1 0 2 1 1 2 1 1 2 2 2 1 -1 -1 -1 2 1 4 0 -1 -1 1 1 -1 -1 1 -1 1 0 2 0 1 2 0 2 2 0 -1 -1 2 0 -1 2 0 -1 0 0 4 2 2 2 1 1 1 1 -1...
output:
Reasonable Reasonable Unreasonable Reasonable Unreasonable Unreasonable Unreasonable Unreasonable Reasonable Reasonable Unreasonable Unreasonable Unreasonable Unreasonable Reasonable Unreasonable Unreasonable Reasonable Unreasonable Unreasonable Reasonable Reasonable Reasonable Unreasonable Reasonab...
result:
ok 50 lines
Test #13:
score: 0
Accepted
time: 9ms
memory: 35032kb
input:
20 14327 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 ...
output:
Reasonable Unreasonable Unreasonable Unreasonable Reasonable Unreasonable Unreasonable Reasonable Unreasonable Unreasonable Unreasonable Unreasonable Reasonable Reasonable Unreasonable Reasonable Reasonable Unreasonable Reasonable Reasonable
result:
ok 20 lines
Test #14:
score: 0
Accepted
time: 15ms
memory: 36964kb
input:
8 35399 -1 -1 4 1 4 2 -1 4 -1 2 1 1 -1 2 3 -1 3 4 -1 -1 6 0 0 3 -1 5 -1 5 3 0 -1 -1 -1 -1 0 -1 1 5 3 4 4 2 1 6 2 2 -1 4 -1 0 -1 -1 4 1 0 0 5 -1 0 -1 2 2 2 1 1 6 2 2 2 3 -1 3 4 4 -1 -1 2 -1 3 0 0 2 -1 -1 3 -1 3 1 2 2 -1 6 4 0 -1 -1 -1 -1 3 -1 -1 1 -1 1 4 3 4 2 -1 6 3 -1 2 -1 2 3 -1 0 -1 -1 1 6 2 6 -1...
output:
Unreasonable Unreasonable Reasonable Reasonable Unreasonable Unreasonable Reasonable Reasonable
result:
ok 8 lines
Test #15:
score: 0
Accepted
time: 21ms
memory: 36892kb
input:
4 28617 -1 -1 15040626 -1 -1 68730989 68730991 -1 68730984 8635907 68730988 -1 -1 -1 -1 68730983 68730993 68730992 -1 -1 68730989 29772797 68730985 34273767 -1 61879811 68730988 67015657 68730993 25288248 68730987 -1 -1 -1 19396694 68730986 -1 7501231 68730991 68730986 -1 68730988 30125487 63758400 ...
output:
Unreasonable Reasonable Unreasonable Unreasonable
result:
ok 4 lines
Test #16:
score: 0
Accepted
time: 21ms
memory: 38084kb
input:
2 100000 9 -1 -1 1 2 2 1 -1 0 -1 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 2 0 -1 1 -1 2 -1 0 -1 -1 -1 0 0 1 -1 -1 -1 -1 -1 2 -1 0 0 -1 0 -1 2 -1 -1 -1 -1 -1 -1 -1 0 -1 1 -1 0 -1 1 -1 0 1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 2 -1 1 -1 2 -1 0 1 0 -1 -1 1 -1 -1 -1 1 2 -1 -1 -1 -1 -1 2 -1 -1 -1 1 -1 -1 1 -1 1 0 -1...
output:
Reasonable Unreasonable
result:
ok 2 lines