提出 #47124385


ソースコード 拡げる

// LUOGU_RID: 132719462
#include<bits/stdc++.h>
using namespace std;
#define ll long long

int n,tot=0;
int fa[300005];
int sz[300005];
int pre[300005];
ll suma[300005],sumb[300005],ans;

struct zz{
	ll vx,vy;int id,tim;
	bool operator<(const zz &a)const{return vx*a.vy<vy*a.vx;}
	zz(){};
	zz(ll Vx,ll Vy,int Id,int Tim){
		vx=Vx;vy=Vy;id=Id;tim=Tim;
	}
};
priority_queue<zz> q;

int Find(int x){
	if(pre[x]!=x) pre[x]=Find(pre[x]);
	return pre[x];
}

int main(){
//	freopen("data.in","r",stdin);
//	freopen("data.out","w",stdout);
	scanf("%d",&n);
	for(int i=1;i<=n;i++) pre[i]=i,sz[i]=1;
	for(int i=2;i<=n;i++) scanf("%d",&fa[i]);
	for(int i=1,op;i<=n;i++){
		scanf("%d",&op);
		if(op) suma[i]=0,sumb[i]=1;
		else sumb[i]=0,suma[i]=1;
		if(i!=1) q.push((zz){suma[i],sumb[i],i,1});
	}
	while(q.size()){
		zz now=q.top();q.pop();
		if(now.tim!=sz[now.id]) continue;
		int fx=Find(fa[now.id]),fy=Find(now.id);
		ans+=sumb[fx]*suma[fy];sumb[fx]+=sumb[fy];suma[fx]+=suma[fy];pre[fy]=fx;sz[fx]+=sz[fy];if(fx!=1) q.push((zz){suma[fx],sumb[fx],fx,sz[fx]});
		tot++;
	}
	cout<<ans<<endl;
	return 0;
}

提出情報

提出日時
問題 F - 01 on Tree
ユーザ cqbz_xiaofang
言語 C++ 17 (gcc 12.2)
得点 1700
コード長 1093 Byte
結果 AC
実行時間 82 ms
メモリ 14108 KiB

コンパイルエラー

Main.cpp: In function ‘int main()’:
Main.cpp:30:14: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   30 |         scanf("%d",&n);
      |         ~~~~~^~~~~~~~~
Main.cpp:32:36: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   32 |         for(int i=2;i<=n;i++) scanf("%d",&fa[i]);
      |                               ~~~~~^~~~~~~~~~~~~
Main.cpp:34:22: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   34 |                 scanf("%d",&op);
      |                 ~~~~~^~~~~~~~~~

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 1700 / 1700
結果
AC × 3
AC × 74
セット名 テストケース
Sample sample_01.txt, sample_02.txt, sample_03.txt
All sample_01.txt, sample_02.txt, sample_03.txt, sample_01.txt, sample_02.txt, sample_03.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_16.txt, subtask_1_17.txt, subtask_1_18.txt, subtask_1_19.txt, subtask_1_20.txt, subtask_1_21.txt, subtask_1_22.txt, subtask_1_23.txt, subtask_1_24.txt, subtask_1_25.txt, subtask_1_26.txt, subtask_1_27.txt, subtask_1_28.txt, subtask_1_29.txt, subtask_1_30.txt, subtask_1_31.txt, subtask_1_32.txt, subtask_1_33.txt, subtask_1_34.txt, subtask_1_35.txt, subtask_1_36.txt, subtask_1_37.txt, subtask_1_38.txt, subtask_1_39.txt, subtask_1_40.txt, subtask_1_41.txt, subtask_1_42.txt, subtask_1_43.txt, subtask_1_44.txt, subtask_1_45.txt, subtask_1_46.txt, subtask_1_47.txt, subtask_1_48.txt, subtask_1_49.txt, subtask_1_50.txt, subtask_1_51.txt, subtask_1_52.txt, subtask_1_53.txt, subtask_1_54.txt, subtask_1_55.txt, subtask_1_56.txt, subtask_1_57.txt, subtask_1_58.txt, subtask_1_59.txt, subtask_1_60.txt, subtask_1_61.txt, subtask_1_62.txt, subtask_1_63.txt, subtask_1_64.txt, subtask_1_65.txt, subtask_1_66.txt, subtask_1_67.txt, subtask_1_68.txt
ケース名 結果 実行時間 メモリ
sample_01.txt AC 1 ms 3744 KiB
sample_02.txt AC 1 ms 3672 KiB
sample_03.txt AC 1 ms 3660 KiB
subtask_1_01.txt AC 1 ms 3576 KiB
subtask_1_02.txt AC 61 ms 13752 KiB
subtask_1_03.txt AC 33 ms 8716 KiB
subtask_1_04.txt AC 69 ms 13956 KiB
subtask_1_05.txt AC 71 ms 13864 KiB
subtask_1_06.txt AC 13 ms 5912 KiB
subtask_1_07.txt AC 49 ms 13264 KiB
subtask_1_08.txt AC 24 ms 8428 KiB
subtask_1_09.txt AC 50 ms 13252 KiB
subtask_1_10.txt AC 17 ms 6240 KiB
subtask_1_11.txt AC 7 ms 4652 KiB
subtask_1_12.txt AC 37 ms 8956 KiB
subtask_1_13.txt AC 30 ms 8424 KiB
subtask_1_14.txt AC 35 ms 8668 KiB
subtask_1_15.txt AC 8 ms 4712 KiB
subtask_1_16.txt AC 17 ms 6608 KiB
subtask_1_17.txt AC 14 ms 6008 KiB
subtask_1_18.txt AC 42 ms 8952 KiB
subtask_1_19.txt AC 10 ms 5072 KiB
subtask_1_20.txt AC 36 ms 9096 KiB
subtask_1_21.txt AC 13 ms 5940 KiB
subtask_1_22.txt AC 53 ms 13244 KiB
subtask_1_23.txt AC 44 ms 9332 KiB
subtask_1_24.txt AC 39 ms 9328 KiB
subtask_1_25.txt AC 24 ms 8320 KiB
subtask_1_26.txt AC 48 ms 9704 KiB
subtask_1_27.txt AC 53 ms 13328 KiB
subtask_1_28.txt AC 33 ms 8508 KiB
subtask_1_29.txt AC 57 ms 13552 KiB
subtask_1_30.txt AC 61 ms 13984 KiB
subtask_1_31.txt AC 61 ms 14096 KiB
subtask_1_32.txt AC 66 ms 14020 KiB
subtask_1_33.txt AC 67 ms 13992 KiB
subtask_1_34.txt AC 69 ms 14104 KiB
subtask_1_35.txt AC 70 ms 14104 KiB
subtask_1_36.txt AC 73 ms 13940 KiB
subtask_1_37.txt AC 72 ms 14028 KiB
subtask_1_38.txt AC 69 ms 13944 KiB
subtask_1_39.txt AC 50 ms 13976 KiB
subtask_1_40.txt AC 41 ms 13944 KiB
subtask_1_41.txt AC 72 ms 14016 KiB
subtask_1_42.txt AC 68 ms 13944 KiB
subtask_1_43.txt AC 69 ms 13948 KiB
subtask_1_44.txt AC 69 ms 13944 KiB
subtask_1_45.txt AC 74 ms 14024 KiB
subtask_1_46.txt AC 74 ms 13980 KiB
subtask_1_47.txt AC 69 ms 13996 KiB
subtask_1_48.txt AC 42 ms 14108 KiB
subtask_1_49.txt AC 41 ms 13936 KiB
subtask_1_50.txt AC 71 ms 13940 KiB
subtask_1_51.txt AC 78 ms 13976 KiB
subtask_1_52.txt AC 78 ms 14108 KiB
subtask_1_53.txt AC 69 ms 13936 KiB
subtask_1_54.txt AC 68 ms 13932 KiB
subtask_1_55.txt AC 82 ms 13988 KiB
subtask_1_56.txt AC 80 ms 14012 KiB
subtask_1_57.txt AC 69 ms 13884 KiB
subtask_1_58.txt AC 70 ms 14000 KiB
subtask_1_59.txt AC 80 ms 13940 KiB
subtask_1_60.txt AC 78 ms 13980 KiB
subtask_1_61.txt AC 68 ms 14020 KiB
subtask_1_62.txt AC 66 ms 13940 KiB
subtask_1_63.txt AC 68 ms 13944 KiB
subtask_1_64.txt AC 65 ms 13936 KiB
subtask_1_65.txt AC 65 ms 13996 KiB
subtask_1_66.txt AC 58 ms 13716 KiB
subtask_1_67.txt AC 31 ms 8632 KiB
subtask_1_68.txt AC 82 ms 13904 KiB