亲亲


 

 

std正解

#include<cstdio>
#include<cstring>
#include<cmath>
#include<iostream>
#include<algorithm>
#include<ctime>
using namespace std ;
typedef long long ll;

ll m,n,l,a,b,c,t;

ll gcd(ll a,ll b){
    return b==0?a:gcd(b,a%b);
}
void exgcd(ll a,ll b,ll &x,ll &y){
    if(!b){
        x=1;y=0;
        return;
    }
    exgcd(b,a%b,y,x);
    y-=a/b*x;
}

int main()
{
    ll x,y;
    scanf("%lld%lld%lld%lld%lld",&x,&y,&m,&n,&l);
    a=n-m;b=l;c=x-y;t=gcd(a,b);
    if(c%t!=0){
        printf("Impossible\n");
        return 0;
    }
    a/=t;b/=t;c/=t;
    exgcd(a,b,x,y);
    x=((c*x)%b+b)%b;
    if(!x) x+=b;
    printf("%lld\n",x);
    return 0;
}

 

posted @ 2018-08-28 22:40  qseer  阅读(152)  评论(0编辑  收藏  举报