結果

問題 No.67 よくある棒を切る問題 (1)
ユーザー picares9uepicares9ue
提出日時 2017-06-08 17:41:26
言語 C#(csc)
(csc 3.9.0)
結果
WA  
実行時間 -
コード長 1,138 bytes
コンパイル時間 961 ms
コンパイル使用メモリ 110,752 KB
実行使用メモリ 52,548 KB
最終ジャッジ日時 2024-09-22 13:33:11
合計ジャッジ時間 8,877 ms
ジャッジサーバーID
(参考情報)
judge5 / judge1
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 280 ms
52,140 KB
testcase_01 AC 31 ms
27,268 KB
testcase_02 AC 121 ms
33,600 KB
testcase_03 AC 206 ms
44,772 KB
testcase_04 AC 256 ms
47,052 KB
testcase_05 AC 255 ms
47,056 KB
testcase_06 WA -
testcase_07 AC 266 ms
50,128 KB
testcase_08 AC 267 ms
52,548 KB
testcase_09 WA -
testcase_10 AC 235 ms
44,428 KB
testcase_11 AC 246 ms
46,760 KB
testcase_12 WA -
testcase_13 AC 249 ms
49,384 KB
testcase_14 AC 255 ms
49,696 KB
testcase_15 WA -
testcase_16 WA -
testcase_17 WA -
testcase_18 WA -
testcase_19 WA -
testcase_20 WA -
testcase_21 WA -
testcase_22 WA -
testcase_23 WA -
testcase_24 AC 31 ms
27,496 KB
testcase_25 AC 41 ms
27,908 KB
testcase_26 AC 38 ms
29,696 KB
testcase_27 AC 37 ms
27,648 KB
testcase_28 AC 71 ms
26,672 KB
testcase_29 AC 53 ms
26,548 KB
testcase_30 AC 41 ms
29,980 KB
権限があれば一括ダウンロードができます
コンパイルメッセージ
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.Linq;
using System.Collections.Generic;
using System.IO;
using System.Diagnostics;

class Program{
    static void Main(){
        var watch = new Stopwatch();
        TextReader reader;
        string filename = "";
        if(filename.Length!=0)reader = new StreamReader(filename);
        else reader = Console.In;
        var n = Int64.Parse(reader.ReadLine());
        long[] lis = reader.ReadLine().Split().Select(Int64.Parse).ToArray();
        var k = Int64.Parse(reader.ReadLine());

        watch.Start();
        double left = 0;
        double right = 10e9;
        /*誤差の吸収がめんどくさいので回数決め打ちループ */
        int cnt = 0;
        while(left<right && cnt<100){
            var mid = (left+right)/2;
            var v = Func(mid, lis, n);
            if(v > k) left = mid;
            else right = mid; 
            cnt++;
        }
        Console.WriteLine(right);
    }

    static long Func(double p, long[] lis, long n){
        long ans = 0;
        for(long i=0; i<n; i++){
            ans+=(long)((double)lis[i]/p);
        }
        return ans;
    }
}
0