結果

問題 No.3126 Dual Query Problem
ユーザー bluemegane
提出日時 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/

ソースコード

diff #

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);
    }
}
0