离谱,下载数据后本地对的,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;
}