問題A『DISCO presents ディスカバリーチャンネルプログラミングコンテスト 2016 Ⅱ』 : DDPC(DISCO presents ディスカバリーチャンネル プログラミングコンテスト)2016 本選
めっちゃ簡単ですが、最初の記事ということで。
問題文 : DISCO presents ディスカバリーチャンネルプログラミングコンテスト 2016 Ⅱ
概要
順位に応じて以下のように賞金が決まっている。
1位: 100000
2位: 50000
3位: 30000
4位: 20000
5位: 10000
6位以下: 0
また、人のうち、i位であった人の番号が順に与えられる。
番号順に、獲得した賞金を出力せよ。
制約
解説
の人の賞金を問題文の通り求めて出力するだけ。
計算量は。
ソースコード
using System; class Program { static int F() { return int.Parse(Console.ReadLine()); } static void Main() { var N = F(); var B = new int[N]; for (var i = 0; i < N; i++) { var id = F() - 1; if (i == 0) B[id] = 100000; else if (i == 1) B[id] = 50000; else if (i == 2) B[id] = 30000; else if (i == 3) B[id] = 20000; else if (i == 4) B[id] = 10000; else B[id] = 0; } for (var i = 0; i < N; i++) Console.WriteLine(B[i]); } }
ちなみに、わざわざを全部読まなくても、
using System; class Program { static int F() { return int.Parse(Console.ReadLine()); } static void Main() { var N = F(); var B = new int[N + 1]; B[F()] = 100000; B[F()] = 50000; B[F()] = 30000; B[F()] = 20000; B[F()] = 10000; for (var i = 1; i <= N; i++) Console.WriteLine(B[i]); } }
でもOK。
感想
本選のA問題ならこれくらいかな、という感じです。
ちなみに、焦って入出力の仕様を読まずに7分近くもかかったのは内緒。