Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
27848 方巾予 【S】T2 区间 C++ 运行超时 0 1000 MS 4152 KB 976 2024-03-31 11:26:18

Tests(0/10):


#include<bits/stdc++.h> using namespace std; const int N=1e6+10; int n,fa[N],v[N],ans[N],vis[N],ma; bool flag; void dfs(int root,int x,int maxx,int cnt){ return ; } signed main(){ scanf("%d",&n); flag=1; for(int i=2;i<=n;i++){ scanf("%d",&fa[i]); if(fa[i]!=i-1){ flag=0; } } for(int i=1;i<=n;i++){ scanf("%d",&v[i]); } if(flag){ for(int i=1;i<=(n/2);i++){ swap(v[i],v[n-i+1]); } for(int i=1;i<=n;i++){ if(v[i]>=ma){ ma=v[i]; ans[i-1]++; } } for(int i=1;i<=n;i++){ swap(ans[i],ans[n-i+1]); } for(int i=1;i<=n;i++){ ans[i]+=ans[i-1]; } }else{ for(int i=1;i<=n;i++){ dfs(i,i,v[i],0); } } for(int i=1;i<=n;i++){ printf("%d ",ans[i]); } return 0; }


测评信息: