結果
問題 | No.2978 Lexicographically Smallest and Largest Subarray |
ユーザー |
|
提出日時 | 2024-12-22 22:09:49 |
言語 | C# (.NET 8.0.404) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,724 bytes |
コンパイル時間 | 11,385 ms |
コンパイル使用メモリ | 168,084 KB |
実行使用メモリ | 47,728 KB |
平均クエリ数 | 1501.00 |
最終ジャッジ日時 | 2024-12-22 22:10:28 |
合計ジャッジ時間 | 33,949 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | WA * 57 |
コンパイルメッセージ
復元対象のプロジェクトを決定しています... /home/judge/data/code/main.csproj を復元しました (106 ms)。 MSBuild のバージョン 17.9.6+a4ecab324 (.NET) main -> /home/judge/data/code/bin/Release/net8.0/main.dll main -> /home/judge/data/code/bin/Release/net8.0/publish/
ソースコード
using System;using static System.Console;using System.Linq;using System.Collections.Generic;class Program{static int NN => int.Parse(ReadLine());static int[] NList => ReadLine().Split().Select(int.Parse).ToArray();static int[][] NArr(long n) => Enumerable.Repeat(0, (int)n).Select(_ => NList).ToArray();public static void Main(){Solve();}static void Solve(){var c = NList;var (n, q) = (c[0], c[1]);var r = new Random();var order = new List<int>();for (var i = 0; i < n; ++i) order.Add(i + 1);for (var i = n - 2; i >= 0; --i){var pos = r.Next(i, n);(order[i], order[pos]) = (order[pos], order[i]);}var minlist = new List<int>();var max = order[0];for (var i = 1; i < n; ++i){var m2 = order[i];WriteLine($"? {max} {n} {m2} {n}");var x = NN;if (x == 1){minlist.Add(max);max = m2;}else if (x == 0){minlist.Add(m2);}else{return;}}var min = order[0];for (var i = 1; i < order.Count; ++i){var m2 = order[i];WriteLine($"? {min} {n} {m2} {n}");var x = NN;if (x == 0){min = m2;}else if (x != 1){return;}}WriteLine($"! {min} {min} {max} {n}");}}