結果
問題 |
No.647 明太子
|
ユーザー |
![]() |
提出日時 | 2025-07-13 21:26:27 |
言語 | C#(csc) (csc 3.9.0) |
結果 |
AC
|
実行時間 | 82 ms / 4,500 ms |
コード長 | 1,474 bytes |
コンパイル時間 | 5,167 ms |
コンパイル使用メモリ | 117,316 KB |
実行使用メモリ | 27,940 KB |
最終ジャッジ日時 | 2025-07-13 21:26:35 |
合計ジャッジ時間 | 7,508 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 20 |
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 3.9.0-6.21124.20 (db94f4cc) Copyright (C) Microsoft Corporation. All rights reserved.
ソースコード
using System; using System.Collections.Generic; using System.Linq; class Program { static void Main() { int n = int.Parse(Console.ReadLine()); var abs = (from j in Enumerable.Range(1, n) select Console.ReadLine().Trim().Split(' ')).ToArray(); int m = int.Parse(Console.ReadLine()); var xys = (from i in Enumerable.Range(1, m) let xy = Console.ReadLine().Trim().Split(' ') select new { I = i, X = int.Parse(xy[0]), Y = int.Parse(xy[1]) }).ToArray(); Array.Sort(xys, (v0, v1) => { if (v0.X != v1.X) return v0.X.CompareTo(v1.X); return -v0.Y.CompareTo(v1.Y); }); var arr = new int[m+1]; foreach (var ab in abs) { int a = int.Parse(ab[0]); int b = int.Parse(ab[1]); foreach (var v in xys) { if (v.X > a) break; if (v.Y >= b) ++arr[v.I]; } } var ans = new List<int>{0}; var max = 0; for (var i = 0; i <= m; ++i) { if (arr[i] == 0) continue; if (arr[i] < max) continue; if (arr[i] == max) { ans.Add(i); continue; } max = arr[i]; ans = new List<int>{i}; } foreach (var i in ans) Console.WriteLine(i); } }