結果
問題 |
No.2562 数字探しゲーム(緑以下コンver.)
|
ユーザー |
|
提出日時 | 2025-03-21 20:32:58 |
言語 | D (dmd 2.109.1) |
結果 |
AC
|
実行時間 | 25 ms / 2,000 ms |
コード長 | 947 bytes |
コンパイル時間 | 2,138 ms |
コンパイル使用メモリ | 204,820 KB |
実行使用メモリ | 7,324 KB |
最終ジャッジ日時 | 2025-03-21 20:33:05 |
合計ジャッジ時間 | 3,184 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 10 |
ソースコード
import std; void main () { int T = readln.chomp.to!int; auto ans = new long[](T); foreach (case_id; 0 .. T) { int M = readln.chomp.to!int; auto d = readln.split.to!(int[]); // アッdが全部0の時に壊れてるのか if (sum(d) == 0) { ans[case_id] = M; continue; } int count = 0; long X = 0; foreach (i, v; d.enumerate(0)) { foreach (_; 0 .. v) { X *= 10; X += i + 1; count++; } } foreach (_; 0 .. 18 - count) { X *= 10; } // (X + plus) % M == 0 // となるようなplusをとる // X == -plus (mod M) // なるplusならok if (0 < X % M) { X += M - X % M; } ans[case_id] = X; enforce(ans[case_id] % M == 0); } writefln("%(%s\n%)", ans); }