zoukankan      html  css  js  c++  java
  • Codeforces Round #360 (Div. 2) D. Remainders Game(中国剩余定理)

    D. Remainders Game

    Today Pari and Arya are playing a game called Remainders.

    Pari chooses two positive integer x and k, and tells Arya k but not x. Arya have to find the value . There are n ancient numbers c1, c2, ..., cn and Pari has to tell Arya  if Arya wants. Given k and the ancient values, tell us if Arya has a winning strategy independent of value of x or not. Formally, is it true that Arya can understand the value  for any positive integer x?

    Note, that  means the remainder of x after dividing it by y.

    Input

    The first line of the input contains two integers n and k (1 ≤ n,  k ≤ 1 000 000) — the number of ancient integers and value k that is chosen by Pari.

    The second line contains n integers c1, c2, ..., cn (1 ≤ ci ≤ 1 000 000).

    Output

    Print "Yes" (without quotes) if Arya has a winning strategy independent of value of x, or "No" (without quotes) otherwise.

    Examples
    input
    4 5
    2 3 5 12
    output
    Yes
    input
    2 7
    2 3
    output
    No
    Note

    In the first sample, Arya can understand  because 5 is one of the ancient numbers.

    In the second sample, Arya can't be sure what  is. For example 1 and 7 have the same remainders after dividing by 2 and 3, but they differ in remainders after dividing by 7.

    #include <cstdio>
    #include <cmath>
    #include <cstring>
    #include <algorithm>
    #include <map>
    #include <iostream>
    using namespace std;
    #define ll long long
    ll lcm;
    const int maxn = 1e6 + 10;
    ll getlcm(ll a, ll b) {
        return a / __gcd(a, b) * b;
    }
    
    ll p[maxn];
    
    int main() {
        ll n, k;
        while(~scanf("%I64d %I64d", &n, &k)) {
            for(int i = 1; i <= n; i++) scanf("%I64d", &p[i]);
            ll lcm = 1;
            int flag = 0;
            for(int i = 1; i <= n; i++) {
                lcm = getlcm(lcm, p[i]);
                lcm = lcm % k;
                if(lcm == 0) {
                    puts("Yes");
                    flag = 1;
                    break;
                }
            }
            if(!flag) puts("No");
        }
    }
  • 相关阅读:
    [SoapUI] Compare JSON Response(比较jsonobject)
    [SoapUI] Command-Line Arguments
    [SoapUI] How to create a random UUID in each Request's Headers
    SoapUI Script Library
    [正则表达式] 正则表达式匹配UUID
    [远程] windows 2008 server设置了共享文件夹,并且共享给了everyone,但是还是无法访问,怎么解决呢?
    each
    WSDL Style和use的组合方式说明
    XML xsd
    java.lang.ClassNotFoundException: springosgi
  • 原文地址:https://www.cnblogs.com/lonewanderer/p/5658581.html
Copyright © 2011-2022 走看看