結果

問題 No.1884 Sequence
ユーザー kokatsukokatsu
提出日時 2022-03-25 22:44:47
言語 D
(dmd 2.109.1)
結果
AC  
実行時間 93 ms / 2,000 ms
コード長 567 bytes
コンパイル時間 2,233 ms
コンパイル使用メモリ 213,600 KB
実行使用メモリ 14,304 KB
最終ジャッジ日時 2024-06-22 14:42:54
合計ジャッジ時間 5,267 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 40
権限があれば一括ダウンロードができます
コンパイルメッセージ
/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 = g >= (mx - mn + N - 2) / (N - 1);
    }

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