求调玄关WA#10
查看原帖
求调玄关WA#10
496117
wyh0721楼主2024/11/7 20:18

离谱,下载数据后本地对的,Acwing上交了对的,LuoguWA了

#include <bits/stdc++.h>
#define int long long
using namespace std;
int n,m;
int c[15],p[15],l[15]; 
void exgcd(int a,int b,int&x,int&y)
{
	if(!b)
	{
		x=1;
		y=0;
		return;
	}
	exgcd(b,a%b,x,y);
	int p=x;
	x=y;
	y=p-(a/b)*y;
	return;
}
bool wj(int a,int b)
{
	if(p[a]<p[b])
		swap(a,b);
	//cout<<114<<' '<<a<<' '<<b<<' '<<m<<endl;
	int aa=p[a]-p[b],bb=c[b]-c[a],cc=m;
	int g=__gcd(aa,cc);
	if(bb%g!=0)
		return 1;
	int x=0,y=0;
	exgcd(aa,cc,x,y);
	int ans=((x*bb/g)%(cc/g)+cc/g)%(cc/g);
	if(ans>min(l[a],l[b]))
		return 1;
	return 0;
}
signed main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
	{
	    cin>>c[i]>>p[i]>>l[i];
	    m=max(m,c[i]);
	}
	for(;m<=1000005;m++)
	{
		bool f=1;
		for(int i=1;i<=n;i++)
		{
			for(int j=i+1;j<=n;j++)
			{
				if(!wj(i,j))
				{
					f=0;
					break;
				}
			}
			if(!f)
				break;	
		}
		if(f)
		{
			cout<<m<<endl;
			break;
		}
	}
	return 0;
}
2024/11/7 20:18
加载中...