记录编号 279658 评测结果 AWWWAWWWWW
题目名称 [NOI 2002]荒岛野人 最终得分 20
用户昵称 Gravatar安呐一条小咸鱼。 是否通过 未通过
代码语言 C++ 运行时间 0.602 s
提交时间 2016-07-09 15:22:13 内存使用 0.32 MiB
显示代码纯文本
#include <iostream>
#include <cstdlib>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <queue>

using namespace std;

int read(){
	int x=0,f=1;char ch=getchar();
	while(ch<'0'||ch>'9'){
		if(ch=='-') f=-1;
		ch=getchar();
	}
	while(ch>='0'&&ch<='9'){
		x=x*10+ch-48;
		ch=getchar();
	}
	return x*f;
}

const int maxn=1000;
int n,c[maxn],p[maxn],l[maxn];
int gcd(int a,int b) {
	return b == 0 ? a : gcd(b,a%b);
}
int extend_gcd(int a,int b,int &x,int &y){
	if(b==0){x=1,y=0;return a;}
	int r=extend_gcd(b,a%b,y,x);
	y-=x*(a/b);
	return r;
}
bool judge(int m){
	int a=0,b=0,C=0,x=0,y=0;
	for(int i=1;i<n;i++)
	{
		for(int j=i+1;j<=n;j++
		){
			a=p[i]-p[j];
			C=c[j]-c[i];
			b=m;
			if(a<0)
			{
				a=-a;
				C=-C;
			}
			int d=gcd(a,b);
		//	printf("%d ",x);
			if(C%d==0){
				if(!x) x+=b;
				if(x<=min(l[i],l[j])) return 0;
			}
		}
	}
	return 1;
}

int main(){
	freopen("savage.in","r",stdin);freopen("savage.out","w",stdout);
	n=read();int m=0;
	for(int i=1;i<=n;i++) c[i]=read(),p[i]=read(),l[i]=read(),m=max(m,c[i]);
	for(int i=m;;i++){
		if(judge(i)){
			printf("%d\n",i);
			fclose(stdin);fclose(stdout);
			return 0;
		}
	}
	return 0;
}