結果
問題 | No.3126 Dual Query Problem |
ユーザー |
![]() |
提出日時 | 2025-04-26 11:14:40 |
言語 | C# (.NET 8.0.404) |
結果 |
AC
|
実行時間 | 172 ms / 2,000 ms |
コード長 | 1,052 bytes |
コンパイル時間 | 11,239 ms |
コンパイル使用メモリ | 170,488 KB |
実行使用メモリ | 188,052 KB |
最終ジャッジ日時 | 2025-06-20 02:53:33 |
合計ジャッジ時間 | 22,692 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 33 |
コンパイルメッセージ
復元対象のプロジェクトを決定しています... /home/judge/data/code/main.csproj を復元しました (118 ミリ秒)。 main -> /home/judge/data/code/bin/Release/net8.0/main.dll main -> /home/judge/data/code/bin/Release/net8.0/publish/
ソースコード
using System.Text; using System.Collections.Generic; using System; public class Hello { static void Main() { string[] line = Console.ReadLine().Trim().Split(' '); var n = int.Parse(line[0]); var q = int.Parse(line[1]); getAns(n, q); } static void getAns(int n, int q) { var d = new Dictionary<int, int>(); var p = 1; var input = new int[n]; for (int i = 0; i < n; i++) { var x = int.Parse(Console.ReadLine().Trim()); input[i] = x; if (!d.ContainsKey(x)) d[x] = p++; } if (d.Count + n > q) { Console.WriteLine("No"); return; } var sb = new StringBuilder(); foreach (var x in d) sb.AppendLine(string.Format("1 {0} {1}", x.Value, x.Key)); foreach (var x in input) sb.AppendLine(string.Format("2 {0}", d[x])); var c = q - d.Count - n; for (int i = 0; i < c; i++) sb.AppendLine(string.Format("1 1 1")); Console.WriteLine("Yes"); Console.Write(sb); } }