トップページに戻る    次の競技プログラミングの問題へ    前の競技プログラミングの問題へ

No.143 豆

■■■問題■■■

yukiさんは1袋K粒だけ豆が入った袋をN袋拾いました.

ところで,節分には年齢の数だけの豆を食べる習慣があります.
yukiさんの家族はF人家族で,それぞれの年齢は A1,A2, ・・・ ,AF歳です.

それぞれが年齢の数だけの豆を食べたら最終的に何粒残るかを求める下さい.
ただし,全員が年齢の数だけ豆を食べることができないなら-1を出力して下さい.

■■■入力■■■

K N F
A1 A2 ・・・ AF

1 <= K  <= 1000
1 <= N  <= 1000
1 <= F  <=  100
1 <= Ak <=  100

■■■出力■■■

残る豆の粒の数を出力するか,-1を出力して下さい.


C#のソース

using System;
using System.Collections.Generic;
using System.Linq;

class Program
{
    static string InputPattern = "Input2";

    static List<string> GetInputList()
    {
        var WillReturn = new List<string>();

        if (InputPattern == "Input1") {
            WillReturn.Add("10 10 3");
            WillReturn.Add("10 20 40");
            //30
        }
        else {
            string wkStr;
            while ((wkStr = Console.ReadLine()) != null) WillReturn.Add(wkStr);
        }
        return WillReturn;
    }

    static void Main()
    {
        List<string> InputList = GetInputList();
        int[] wkArr = InputList[0].Split(' ').Select(X => int.Parse(X)).ToArray();
        int K = wkArr[0];
        int N = wkArr[1];
        int[] AArr = InputList[1].Split(' ').Select(X => int.Parse(X)).ToArray();

        int RestCnt = K * N - AArr.Sum();
        Console.WriteLine(RestCnt >= 0 ? RestCnt : -1);
    }
}


解説

ナイーブに計算してます。