P1495 这道题正解使用扩欧做的,但是我觉得暴力是可以的,然后90分了。。。我想知道用暴力能不能拿满分
我的思路就是枚举一个i让s=a[1]*i+b[1]
且s满足s%a[i]==b[i] (i>1)
#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll n,s;
bool f;
struct sb{
ll a,b;
}p[114514];
bool cmp(sb x,sb y){
return x.a>y.a;
}
int main(){
scanf("%lld",&n);
for(int i=1,x,y;i<=n;i++){
cin>>x>>y;
p[i].a=x;p[i].b=y;
}
if(n==1) return cout<<p[1].b%p[1].a,0;
sort(p+1,p+1+n,cmp);
ll i=0;
while(1){
if(f) i++;
while((p[1].a*i+p[1].b)%p[2].a==p[2].b) i++;
f=0;
s=p[1].a*i+p[1].b;
for(int j=3;j<=n;j++){
if(s%p[j].a!=p[j].b){
f=1;break;
}
}
if(!f) return cout<<s,0;
}
return 0;
}