結果
| 問題 |
No.647 明太子
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2018-05-21 14:22:04 |
| 言語 | C#(csc) (csc 3.9.0) |
| 結果 |
AC
|
| 実行時間 | 3,664 ms / 4,500 ms |
| コード長 | 1,797 bytes |
| コンパイル時間 | 921 ms |
| コンパイル使用メモリ | 117,328 KB |
| 実行使用メモリ | 41,020 KB |
| 最終ジャッジ日時 | 2024-06-28 14:57:30 |
| 合計ジャッジ時間 | 16,461 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| 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;
public class Program
{
static void Main()
{
List<Member> Members = new List<Member>();
List<int> Kiseki = new List<int>();
Kiseki.Add(0);
int MaxNum = 0;
int KaiCount = 0;
for(var i = int.Parse(Console.ReadLine()); i>0 ;i--){
Members.Add( Member.MakeMember( Splitter( Console.ReadLine() ).Select( a => int.Parse(a) ).ToList() ) );
}
var MembersList = Members.OrderByDescending(a => a.Yosan).ThenBy(a => a.Karasa);
int MentaiMax = int.Parse(Console.ReadLine());
List<int> Tmp = new List<int>();
for(var j = 1; j <= MentaiMax ;j++){
KaiCount = 0;
Tmp = Splitter( Console.ReadLine() ).Select( a => int.Parse(a) ).ToList();
KaiCount = MembersList.Where(a => a.Kauka(Tmp)).Count();
if(KaiCount > MaxNum){
Kiseki.Clear();
MaxNum = KaiCount;
Kiseki.Add(j);
}else if(KaiCount == MaxNum && MaxNum != 0){
Kiseki.Add(j);
}
}
foreach(var m in Kiseki){
Console.WriteLine(m);
}
}
static List<string> Splitter(string Input, char Delimiter = ' '){
return new List<string>(Input.Split(Delimiter));
}
}
public class Member
{
public int Yosan;
public int Karasa;
public Member(int InYosan, int InKarasa){
Yosan = InYosan;
Karasa = InKarasa;
}
public bool Kauka(List<int> list){
return (list[0] <= Yosan) && (list[1] >= Karasa);
}
public static Member MakeMember(List<int> list){
return new Member(list[0],list[1]);
}
}