【题解】

可以枚举m

那么任意两个野人之间有 c[i]+x*p[i]=c[j]+x*p[j] (mod m)  无解,或 x 的最小值<=min(l[i] , l[j])

化为丢番图方程:(p[i]-p[j])*x+m*y=c[j]-c[i]

用扩展欧几里得搞就行了。

 #include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<cmath>
#include<ctime>
#include<algorithm>
using namespace std;
int n,mx,C[],p[],l[];
inline int read()
{
int x=,f=; char ch=getchar();
while(!isdigit(ch)) {if(ch=='-') f=-; ch=getchar();}
while(isdigit(ch)) {x=x*+ch-''; ch=getchar();}
return x*f;
}
int gcd(int a,int b) {return b==?a:gcd(b,a%b);}
void exgcd(int a,int b,int &x,int &y)
{
if(b==) {x=; y=; return;}
exgcd(b,a%b,x,y);
int t=x;x=y;y=t-a/b*y;
}
bool check(int m)
{
for(int i=;i<=n;i++)
for(int j=i+;j<=n;j++)
{
int a=p[i]-p[j],b=m,c=C[j]-C[i],x,y;
int r=gcd(a,b);
if(c%r==)
{
a/=r; b/=r; c/=r;
exgcd(a,b,x,y);
b=abs(b);
x=((x*c)%b+b)%b;
while(!x) x+=b;
if(x<=min(l[i],l[j])) return ;
}
}
return ;
}
int main()
{
//freopen("cin.in","r",stdin);
//freopen("cout.out","w",stdout);
n=read();
for(int i=;i<=n;i++){C[i]=read(); p[i]=read(); l[i]=read(); mx=max(mx,C[i]);}
for(int i=mx;;i++) if(check(i)) {printf("%d\n",i); break;}
return ;
}

最新文章

  1. Html&lt;a&gt;标签href的困惑记载
  2. poi读取excel模板,填充内容并导出,支持导出2007支持公式自动计算
  3. Codeforces Round #361 (Div. 2) B
  4. No Entity Framework provider found for the ADO.NET provider with invariant
  5. 【转】前端工程筹建NodeJs+gulp+bower
  6. myeclipse下拷贝的项目,tomcat下部署名称和导出为war包的名称默认值修改
  7. android studio 中查找代码中的硬编码
  8. 解决“com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536”问题(l转)
  9. google翻译,翻译当前的网页
  10. HTML-Canvas02
  11. 将List&lt;Map&gt;中的datas转换为json格式写入文件
  12. IOS内存管理「2」- 点语法的内存管理
  13. codeforces 652D Nested Segments 离散化+树状数组
  14. [转]gcc -I -L -l区别
  15. 02-线性结构4 Pop Sequence
  16. mysql数据库导入导出 查询 修改表记录
  17. 20行以内python代码画出各种减压图
  18. Oracle Data Guard配置
  19. elementUI 表格设置表头样式
  20. vue全家桶+Koa2开发笔记(8)--开发网页

热门文章

  1. I.MX6 Android 5.1 纯Linux、U-Boot编译
  2. Linux 监视文件、文件夹改动
  3. LINUX 修改本机yum源为163镜像源
  4. volatile 续
  5. bzoj 4753 最佳团体
  6. python学习-实现用户密码登录,输错三次锁定
  7. 《DSP using MATLAB》示例Example7.20
  8. Oracle Stream配置详细步骤
  9. Excel 2007 打开 UTF-8 编码 CSV 文件的乱码BUG
  10. UOJ #188 Sanrd —— min_25筛