S T4 你谷30pts 小图灵0pts
  • 板块灌水区
  • 楼主ran_qwq
  • 当前回复2
  • 已保存回复2
  • 发布时间2023/10/22 10:05
  • 上次更新2023/11/2 12:00:09
查看原帖
S T4 你谷30pts 小图灵0pts
743048
ran_qwq楼主2023/10/22 10:05

怎么会是呢?

写了特殊性质 A,考场代码:

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=1e5+10,M=21;
int n,id,a[N],b[N],c[N],to[N<<1],ne[N<<1],head[N];
void add(int x,int y) {to[++id]=y,ne[id]=head[x],head[x]=id;}
namespace solveA
{
	bool check()
	{
		for(int i=1;i<=n;i++)
			if(c[i]) return 0;
		return 1;
	}
	void solve()
	{
		int ans=n;
		for(int i=1;i<=n;i++) ans=max(ans,(a[i]-1)/max(b[i],1ll)+1);
		printf("%lld",ans);
	}
};
signed main()
{
	freopen("tree.in","r",stdin),freopen("tree.out","w",stdout);
	scanf("%lld",&n);
	for(int i=1;i<=n;i++) scanf("%lld%lld%lld",&a[i],&b[i],&c[i]);
	for(int i=1,x,y;i<n;i++) scanf("%lld%lld",&x,&y),add(x,y),add(y,x);
	if(solveA::check()) solveA::solve();
	else printf("%lld",n);
}
2023/10/22 10:05
加载中...