結果
問題 |
No.33 アメーバがたくさん
|
ユーザー |
|
提出日時 | 2025-08-01 22:05:36 |
言語 | D (dmd 2.109.1) |
結果 |
AC
|
実行時間 | 2 ms / 5,000 ms |
コード長 | 623 bytes |
コンパイル時間 | 3,560 ms |
コンパイル使用メモリ | 206,064 KB |
実行使用メモリ | 7,716 KB |
最終ジャッジ日時 | 2025-08-01 22:05:42 |
合計ジャッジ時間 | 4,201 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 11 |
ソースコード
module main; // https://kmjp.hatenablog.jp/entry/2015/07/14/0900 より import std; void main() { // 入力 long N, D, T; readln.chomp.formattedRead("%d %d %d", N, D, T); auto X = readln.split.to!(long[]); // 答えの計算 alias P = Tuple!(long, long); P[][long] M; foreach (x; X) M[(D + x % D) % D] ~= P(x - D * T, x + D * T); // 答えの計算 long ans = 0; foreach (V; M) { long mi = -1L << 60, ma = -(1L << 60) - D; V.sort; foreach (v; V) { if (v[0] > ma) { ans += (ma - mi) / D + 1; mi = v[0]; } ma = v[1]; } ans += (ma - mi) / D + 1; } // 答えの出力 writeln(ans); }