QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#748869 | #9580. 插排串联 | hanmx | WA | 26ms | 8016kb | C++17 | 1.2kb | 2024-11-14 21:45:30 | 2024-11-14 21:45:30 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
using ll=long long;
using i64=long long;
using u64=unsigned long long;
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n;
cin>>n;
vector<vector<int>> g(n+1);
vector<int> a(n+1);
for(int i=1;i<=n;i++){
int x;
cin>>x;
g[x].push_back(i);
cin>>a[i];
}
multiset<ll> s;
auto dfs1=[&](auto dfs1,int x)->void{
if(g[x].size()!=0) s.insert(a[x]);
for(auto y:g[x]){
dfs1(dfs1,y);
}
};
dfs1(dfs1,0);
int f=0;
vector<ll> siz(n+1);
auto dfs=[&](auto dfs,int x)->void{
if(!g[x].size()){
siz[x]=a[x];
return;
}
for(auto y:g[x]){
dfs(dfs,y);
siz[x]+=siz[y];
}
//cout<<x<<" "<<siz[x]<<"\n";
if(x==0){
if(siz[x]>2200) f=1;
return;
}
auto u=s.lower_bound(siz[x]);
if(u==s.end()){
f=1;
}
else s.erase(*u);
};
dfs(dfs,0);
if(f) cout<<"NO"<<"\n";
else cout<<"YES"<<"\n";
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3572kb
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: 3508kb
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: 3576kb
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: 3604kb
input:
3 0 1000000000 0 1000000000 0 147483647
output:
NO
result:
ok single line: 'NO'
Test #5:
score: 0
Accepted
time: 0ms
memory: 3600kb
input:
3 0 1000000000 0 1000000000 0 147483648
output:
NO
result:
ok single line: 'NO'
Test #6:
score: 0
Accepted
time: 26ms
memory: 8016kb
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: 15ms
memory: 6700kb
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'