結果

問題 No.33 アメーバがたくさん
ユーザー htensai
提出日時 2020-01-15 14:26:23
言語 Java11
(openjdk 11.0.5)
結果
AC  
実行時間 136 ms
コード長 971 Byte
コンパイル時間 2,320 ms
使用メモリ 33,840 KB
最終ジャッジ日時 2020-01-15 14:26:28

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
1.txt AC 124 ms
33,640 KB
2.txt AC 128 ms
33,752 KB
3.txt AC 124 ms
33,676 KB
4.txt AC 128 ms
33,668 KB
5.txt AC 128 ms
33,628 KB
6.txt AC 128 ms
33,780 KB
7.txt AC 128 ms
33,716 KB
8.txt AC 128 ms
33,656 KB
9.txt AC 128 ms
33,676 KB
10.txt AC 136 ms
33,840 KB
99_challenge01.txt AC 124 ms
33,776 KB
テストケース一括ダウンロード

ソースコード

diff #
import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        long d = sc.nextInt();
        long t = sc.nextInt();
        int BASE = 1000000000;
        long count = 0;
        HashMap<Long, Long> map = new HashMap<>();
        int[] arr = new int[n];
        for (int i = 0; i < n; i++) {
            arr[i] = sc.nextInt();
        }
        Arrays.sort(arr);
        for (int i = 0; i < n; i++) {
            long x = arr[i] + BASE;
            long mod = x % d;
            if (map.containsKey(mod)) {
                long y = map.get(mod);
                if (x - y > 2 * t * d) {
                    count += 2 * t + 1;
                } else {
                    count += (x - y) / d;
                }
            } else {
                count += 2 * t + 1;
            }
            map.put(mod, x);
        }
        System.out.println(count);
    }
}
0