ねむーの日記~AtCoderな日々~

福岡に住むプログラミング好きのブログです!

AtCoder Beginner Contest 153 B - Common Raccoon vs Monster

最近のABCではこの辺の問題は早解き選手権ですね、ねむーです。

今回はAtCoder(https://atcoder.jp/contests/abc153/tasks/abc153_b)にて開催されました、AtCoder Beginner Contest 153 B問題「B - Common Raccoon vs Monster」の問題と僕との戦闘記です。

0.はじめに

今回も、プログラミング言語C#を使用しています。

1.問題文

アライグマはモンスターと戦っています。

モンスターの体力は H です。

アライグマは N 種類の必殺技を使うことができ、 i 番目の必殺技を使うとモンスターの体力を A i 減らすことができます。 必殺技を使う以外の方法でモンスターの体力を減らすことはできません。

モンスターの体力を 0 以下にすればアライグマの勝ちです。

アライグマが同じ必殺技を 2 度以上使うことなくモンスターに勝つことができるなら Yes を、できないなら No を出力してください。

2.制約

  • 1 ≤ H ≤ 109
  • 1 ≤ N ≤ 105
  • 1 ≤ A i ≤ 104
  • 入力中のすべての値は整数である。

3.入出力例

  • 入力
211 5
31 41 59 26 53
  • 出力
No

4.初見の感想

  • 配列Aの和がHを超えているかどうかで条件分岐です

    5.学びポイント

  • C#では.sum()で和が計算できます

    6.コードと簡単な解説

using System;
using System.Collections.Generic;
using System.Linq;
class Program
{
    public static void Main()
    {
        string[] input = Console.ReadLine().Split();
        long H = int.Parse(input[0]);
        long N = int.Parse(input[1]);
        input = Console.ReadLine().Split();
        long[]A = new long[N]; 
        for(long i = 0; i < N; i++)
        {
            A[i] = int.Parse(input[i]);
        }
        long sum = A.Sum();
        if (H <= sum) { Console.WriteLine("Yes"); }
        else { Console.WriteLine("No"); }
    }
}

7.最後に

少し問題解釈に時間かかりましたので反省です…