結果
| 問題 |
No.433 ICPC国内予選の選抜ルールがこんな感じだったらうれしい
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2016-10-15 11:18:17 |
| 言語 | C#(csc) (csc 3.9.0) |
| 結果 |
AC
|
| 実行時間 | 373 ms / 4,000 ms |
| コード長 | 1,554 bytes |
| コンパイル時間 | 1,015 ms |
| コンパイル使用メモリ | 107,776 KB |
| 実行使用メモリ | 39,424 KB |
| 最終ジャッジ日時 | 2024-11-22 11:27:24 |
| 合計ジャッジ時間 | 15,798 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 48 |
コンパイルメッセージ
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;
using System.Text;
//大学内順位をつけることで順位をパラメタとしてソートしたりデキューしたりできる!!
namespace yuki_433
{
class Program
{
static int N, K;
static HashSet<Team> L = new HashSet<Team>();
static int[] C = new int[100001];
static void Main(string[] args)
{
var sb = new StringBuilder();
var t = scan;
N = t[0]; K = t[1];
for (int i = 0; i < N; i++)
{
t = scan;
L.Add(new Team(i, t[0], t[1], t[2]));
}
var A = L.OrderByDescending(l => l.S).ThenBy(l => l.P).ToArray();
foreach (var a in A)
{
a.Urank = C[a.U];
C[a.U]++;
}
A = A.OrderByDescending(l => l.S).ThenBy(l =>l.Urank).ThenBy(l => l.P).ToArray();
for (int i = 0; i < K; i++)
{
sb.AppendLine(A[i].Num.ToString());
}
Console.Write(sb);
}
class Team
{
internal int Num, S, P, U, Urank;
public Team(int Num, int S, int P, int U)
{
this.Num = Num;
this.S = S;
this.P = P;
this.U = U;
Urank = 0;
}
}
static int[] scan { get { return Array.ConvertAll(Console.ReadLine().Split(), int.Parse); } }
}
}