int main()
{
scanf("%lld%lld%lld%lld%lld",&a,&b,&m,&n,&l);
long long p=n-m,q=a-b;
if(p<0)p=-p,q=-q;
if(q%gcd(p,l)!=0)
{
printf("Impossible");
return 0;
}
long long r=exgcd(p,l,x,y);
printf("%d\n",((x*q/r)%(l/r)+(l/r))%(l/r));
return 0;
}
扩欧部分已省略。
if(p<0)p=-p,q=-q;
不加这一行AC不了,但不知道为什么要加这一行。
要去住宿,可能回复不及时,敬请谅解。