結果
| 問題 |
No.1708 Quality of Contest
|
| コンテスト | |
| ユーザー |
bluemegane
|
| 提出日時 | 2021-10-16 12:46:38 |
| 言語 | C#(csc) (csc 3.9.0) |
| 結果 |
AC
|
| 実行時間 | 430 ms / 2,000 ms |
| コード長 | 1,313 bytes |
| コンパイル時間 | 792 ms |
| コンパイル使用メモリ | 116,508 KB |
| 実行使用メモリ | 75,500 KB |
| 最終ジャッジ日時 | 2024-09-17 19:22:23 |
| 合計ジャッジ時間 | 8,931 ms |
|
ジャッジサーバーID (参考情報) |
judge6 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 23 |
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 3.9.0-6.21124.20 (db94f4cc) Copyright (C) Microsoft Corporation. All rights reserved.
ソースコード
using System.Collections.Generic;
using System.Linq;
using System;
public class Hello
{
static void Main()
{
string[] line = Console.ReadLine().Trim().Split(' ');
var n = int.Parse(line[0]);
var m = int.Parse(line[1]);
var x = int.Parse(line[2]);
var d = new Dictionary<int, List<int>>();
for (int i = 0; i < n; i++)
{
line = Console.ReadLine().Trim().Split(' ');
var a = int.Parse(line[0]);
var b = int.Parse(line[1]);
if (!d.ContainsKey(b)) d[b] = new List<int>();
d[b].Add(a);
}
var s = new long[n];
var p = 0;
foreach (var y in d)
{
var first = true;
foreach (var z in y.Value.OrderByDescending(z => z))
{
if (first) { s[p++] = z + x; first = false; }
else s[p++] = z;
}
}
Array.Sort(s);
Array.Reverse(s);
var t = new long[n + 1];
for (int i = 1; i <= n; i++) t[i] = t[i - 1] + s[i - 1];
Console.ReadLine();
line = Console.ReadLine().Trim().Split(' ');
var c = Array.ConvertAll(line, int.Parse);
var ans = 0L;
foreach (var y in c) ans += t[y];
Console.WriteLine(ans);
}
}
bluemegane