結果

問題 No.1884 Sequence
ユーザー kokatsukokatsu
提出日時 2022-03-25 21:58:52
言語 D
(dmd 2.109.1)
結果
WA  
実行時間 -
コード長 566 bytes
コンパイル時間 2,120 ms
コンパイル使用メモリ 213,860 KB
実行使用メモリ 14,360 KB
最終ジャッジ日時 2024-06-22 14:41:59
合計ジャッジ時間 5,251 ms
ジャッジサーバーID
(参考情報)
judge2 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 39 WA * 1
権限があれば一括ダウンロードができます
コンパイルメッセージ
/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 = min(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);
    }

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