QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#812490 | #5683. 大富翁 | dxbt | WA | 0ms | 3596kb | C++14 | 746b | 2024-12-13 16:15:11 | 2024-12-13 16:15:11 |
Judging History
answer
#include<bits/stdc++.h>
#define F(i,l,r) for(int i=(l),i##end=(r);i<=i##end;++i)
#define G(i,l,r) for(int i=(l),i##end=(r);i>=i##end;--i)
#define pii pair<int,int>
#define x first
#define y second
#define mp(x,y) make_pair(x,y)
#define ep emplace_back
using namespace std;
typedef long long ll;
constexpr int N=2e5;
int fa[N+9],dep[N+9],sz[N+9];
int w[N+9],id[N+9];
int main()
{
cin.tie(0)->sync_with_stdio(false);
int n;
cin>>n;
F(i,1,n)cin>>w[i],id[i]=i;
F(i,2,n)cin>>fa[i];
F(i,2,n)dep[i]=dep[fa[i]]+1;
G(i,n,1)sz[fa[i]]+=1+sz[i];
sort(id+1,id+n+1,[](int a,int b){return sz[a]-w[a]-dep[a]>sz[b]-w[b]-dep[b];});
ll ans=0;
F(i,1,n)if(i&1)ans+=sz[id[i]]-w[id[i]]-dep[id[i]];
cout<<ans<<'\n';
return 0;
}
详细
Test #1:
score: 0
Wrong Answer
time: 0ms
memory: 3596kb
input:
8 0 1 1 0 0 0 0 0 3 1 8 4 1 3 1
output:
1
result:
wrong answer 1st lines differ - expected: '3', found: '1'