結果

問題 No.1884 Sequence
ユーザー kokatsu
提出日時 2022-03-25 22:35:40
言語 D
(dmd 2.109.1)
結果
WA  
実行時間 -
コード長 574 bytes
コンパイル時間 1,868 ms
コンパイル使用メモリ 214,404 KB
実行使用メモリ 14,436 KB
最終ジャッジ日時 2024-06-22 14:42:47
合計ジャッジ時間 5,177 ms
ジャッジサーバーID
(参考情報)
judge4 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2 WA * 1
other AC * 19 WA * 21
権限があれば一括ダウンロードができます
コンパイルメッセージ
/home/linuxbrew/.linuxbrew/opt/dmd/include/dlang/dmd/std/numeric.d(2999): Warning: cannot inline function `std.numeric.gcdImpl!ulong.gcdImpl`

ソースコード

diff #

import std;

void main() {
    long N;
    readf("%d\n", N);

    auto A = readln.chomp.split.to!(long[]);

    A.sort!"a > b";

    bool diff, diff0;
    long mx = A[0], mn = A[0];
    long[] B;
    foreach (i; 1 .. N) {
        if (A[i] == 0) break;

        long d = A[i-1] - A[i];
        (d > 0 ? diff : diff0) = true;
        B ~= d;
        mn = A[i];
    }

    bool isOK = true;
    if (!B.empty) {
        long g = B.fold!gcd;

        if (diff0) isOK = !diff;
        else isOK = mx <= mn + g * (N - 1);
    }

    isOK = true;
    writeln(isOK ? "Yes" : "No");
}
0