QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#713284 | #9580. 插排串联 | shift# | WA | 10ms | 6464kb | C++20 | 1.4kb | 2024-11-05 18:51:00 | 2024-11-05 18:51:00 |
Judging History
answer
#include <bits/stdc++.h>
using i64 = long long;
using u64 = unsigned long long;
void solve() {
int n;
std::cin >> n;
n += 1;
std::vector<int> r(n);
r[0] = 2200;
std::vector<std::vector<int>> adj(n);
for(int i = 1; i < n; i ++ ) {
int f, v;
std::cin >> f >> v;
adj[f].push_back(i);
r[i] = v;
}
std::vector<i64> w(n);
auto dfs = [&](auto &self, int x, int p) -> void {
if(not adj[x].size()) {
w[x] = r[x];
r[x] = -1;
return;
}
for(auto y : adj[x]) {
if(y == p) continue;
self(self, y, x);
w[x] += w[y];
}
};
dfs(dfs, 0, -1);
if(r[0] < w[0]) {
std::cout << "NO" << '\n';
return;
}
std::vector<int> a, b;
for(int i = 1; i < n; i ++ ) {
if(r[i] == -1) continue;
a.push_back(r[i]);
b.push_back(w[i]);
}
std::sort(a.begin(), a.end());
std::sort(b.begin(), b.end());
for(int i = 0; i < n; i ++ ) {
if(a[i] < b[i]) {
std::cout << "NO" << '\n';
return;
}
}
std::cout << "YES" << '\n';
}
int main() {
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
int T = 1;
// std::cin >> T;
while(T -- ) {
solve();
}
return 0;
}
詳細信息
Test #1:
score: 100
Accepted
time: 0ms
memory: 3624kb
input:
5 0 500 1 700 1 400 2 100 2 200
output:
YES
result:
ok single line: 'YES'
Test #2:
score: 0
Accepted
time: 0ms
memory: 3604kb
input:
5 0 500 1 700 1 400 2 100 2 300
output:
NO
result:
ok single line: 'NO'
Test #3:
score: 0
Accepted
time: 0ms
memory: 3568kb
input:
4 0 1000 1 800 1 500 2 300
output:
YES
result:
ok single line: 'YES'
Test #4:
score: 0
Accepted
time: 0ms
memory: 3864kb
input:
3 0 1000000000 0 1000000000 0 147483647
output:
NO
result:
ok single line: 'NO'
Test #5:
score: 0
Accepted
time: 0ms
memory: 3632kb
input:
3 0 1000000000 0 1000000000 0 147483648
output:
NO
result:
ok single line: 'NO'
Test #6:
score: 0
Accepted
time: 6ms
memory: 6464kb
input:
64855 0 69748768 0 450926072 1 699448620 3 918617238 4 106189312 1 617660017 5 31691747 2 373080156 0 363984605 0 937885158 10 300431710 8 485372487 1 661592241 1 836709079 13 895424425 1 824052267 9 887752080 15 952380329 0 595041339 14 632034017 18 752444470 4 311747126 2 289503382 11 213029500 23...
output:
NO
result:
ok single line: 'NO'
Test #7:
score: -100
Wrong Answer
time: 10ms
memory: 6200kb
input:
48750 0 3785579 1 2060436 1 1095269 2 3527822 3 2748694 3 452943 5 427867 3 191538 8 2095981 1 3895276 10 3771233 3 3121067 10 416014 9 1443750 1 699351 8 933800 7 361157 16 423718 10 785063 11 2772134 16 3135666 2 1404821 15 417197 12 1560818 4 2709779 13 2489882 24 1070706 23 2364628 22 3451655 8 ...
output:
NO
result:
wrong answer 1st lines differ - expected: 'YES', found: 'NO'