不要看我提交记录,因为这是我小号
#include<bits/stdc++.h>
using namespace std;
const int N=20;
int n;
int cc[N],p[N],l[N];
int exgcd(int a,int b,int &x,int &y){
if(b==0){
x=1,y=0;
return a;
}
int d,tmp;
d=exgcd(b,a%b,x,y);
tmp=x;
x=y;
y=tmp-a/b*x;
return d;
}
int check(int M){
for(int i=1;i<=n;++i){
for(int j=i+1;j<=n;++j){
int a=p[i]-p[j],b=M,c=cc[j]-cc[i],x,y;
int d=exgcd(a,b,x,y);
if(c%d) continue;
int sx=x*c/d,dx=b/d;
int ll=(int)ceil((-sx+1)*1.0/dx);
if(sx+ll*dx<=min(l[i],l[j])) return 0;
}
}
return 1;
}
signed main(){
cin>>n;
int maxx=0;
for(int i=1;i<=n;++i){
cin>>cc[i]>>p[i]>>l[i];
maxx=max(maxx,cc[i]);
}
for(int i=maxx;;++i){
if(check(i)){
cout<<i<<endl;
return 0;
}
}
return 0;
}