結果

問題 No.78 クジ付きアイスバー
ユーザー 明智重蔵
提出日時 2015-08-03 22:12:28
言語 C#(csc)
(csc 3.9.0)
結果
TLE  
実行時間 -
コード長 2,203 bytes
コンパイル時間 974 ms
コンパイル使用メモリ 112,636 KB
実行使用メモリ 32,676 KB
最終ジャッジ日時 2024-10-06 17:35:43
合計ジャッジ時間 16,260 ms
ジャッジサーバーID
(参考情報)
judge5 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 5 TLE * 1 -- * 29
権限があれば一括ダウンロードができます
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 3.9.0-6.21124.20 (db94f4cc)
Copyright (C) Microsoft Corporation. All rights reserved.

ソースコード

diff #

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

class Program
{
    static string InputPattern = "Input6";

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

        if (InputPattern == "Input1") {
            WillReturn.Add("5 4");
            WillReturn.Add("01200");
            //2
        }
        else if (InputPattern == "Input2") {
            WillReturn.Add("2 8");
            WillReturn.Add("10");
            //4
        }
        else if (InputPattern == "Input3") {
            WillReturn.Add("10 100");
            WillReturn.Add("2222222222");
            //1
        }
        else if (InputPattern == "Input4") {
            WillReturn.Add("2 5");
            WillReturn.Add("01");
            //3
        }
        else if (InputPattern == "Input5") { //最悪計算量
            WillReturn.Add("50 2000000000");
            WillReturn.Add(new string('0', 50));
        }
        else {
            string wkStr;
            while ((wkStr = Console.ReadLine()) != null) WillReturn.Add(wkStr);
        }
        return WillReturn;
    }

    static int K;
    static char[] SArr;

    static void Main()
    {
        //var sw = System.Diagnostics.Stopwatch.StartNew();

        List<string> InputList = GetInputList();
        K = int.Parse(InputList[0].Split(' ').Last());
        SArr = InputList[1].ToCharArray();

        Solve();
        //Console.WriteLine("経過時間={0}", sw.Elapsed);
    }

    static void Solve()
    {
        int HonsuuSum = 0;
        int KounyuuCnt = 0;
        int AtariHonsuu = 0;

        for (int HakoCnt = 1; ; HakoCnt++) {
            foreach (char EachChar in SArr) {
                if (AtariHonsuu == 0) KounyuuCnt++;
                else AtariHonsuu--;

                if (EachChar == '1') AtariHonsuu++;
                if (EachChar == '2') AtariHonsuu += 2;

                if (++HonsuuSum == K) {
                    Console.WriteLine(KounyuuCnt);
                    return;
                }
            }
            //Console.WriteLine("{0}箱目の結果。購入数={1}。当たり本数={2}",
            //    HakoCnt, KounyuuCnt, AtariHonsuu);
        }
    }
}
0