2 1 2 3 0 0
5
求N%Mi==m-a;
即(n+a)%Mi==0
即求這組Mi的最小公倍數
#includetypedef long long ll ; ll gcd(ll a , ll b) { if(b == 0) { return a; } gcd(b,a%b) ; } ll lcm(ll a , ll b) { return a*b/gcd(a,b) ; } int main() { int n , a ; while(~scanf(%d%d,&n,&a) && (n+a)) { ll ans = 1 ; for(int i = 0 ; i < n ; ++i) { int m ; scanf(%d,&m) ; ans = lcm(ans,m) ; } printf(%I64d ,ans-a) ; } return 0 ; }