結果
問題 |
No.2372 既視感
|
ユーザー |
|
提出日時 | 2023-07-07 22:18:04 |
言語 | D (dmd 2.109.1) |
結果 |
AC
|
実行時間 | 8 ms / 2,000 ms |
コード長 | 1,374 bytes |
コンパイル時間 | 6,101 ms |
コンパイル使用メモリ | 172,660 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-07-21 18:23:08 |
合計ジャッジ時間 | 6,242 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 26 |
ソースコード
import std; void read(T...)(string S, ref T args) { auto buf = S.split; foreach (i, ref arg; args) { arg = buf[i].to!(typeof(arg)); } } void main () { int N, K, Q; readln.read(N, K, Q); solve(N, K, Q); } void solve (int N, int K, int Q) { string[] A; foreach (_; 0..Q) { int query = readln.chomp.to!int; if (query == 2) { int time = 0; int correct = 0; string[] B; // クエリ処理 foreach (i; 0..6) { string t; int d; readln.read(t, d); // 問題の被りを探す bool seen = false; foreach (j; 0..N) { if (0 <= cast(int) A.length-1-j) { if (A[$-1-j] == t) { seen = true; break; } } else { break; } } if (seen) { time += min(K, d); } else { time += d; } if (time <= 60) { correct++; B ~= t; } } A ~= B; writeln(correct); } else { A ~= readln.chomp; } } }