結果
| 問題 |
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);
}