Submission #2114877


Source Code Expand

using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Linq.Expressions;
using static System.Console;
using static System.Math;
class Simple {
    private int N;
    private int[] H, S;
    void Solve() {
        //input
        N = io.Int;
        H = new int[N];
        S = new int[N];
        for(int i = 0; i < N; ++i) {
            H[i] = io.Int;
            S[i] = io.Int;
        }
        //cal
        var ans = binarySearch(int.MaxValue / 2, 0, check);
        //ret
        WriteLine(ans);
    }
    bool check(int limit) {
        var t = H.Zip(S, (h, s) => new {vH = h, vS = s}).
                  Count(v => ceil(limit - v.vH, v.vS) >= N);
        return t <= 1;
    }
    int ceil(int n, int m) => n % m == 0 ? n / m : n / m + 1;
    int binarySearch(int ng, int ok, Func <int, bool> f) {
        while(Math.Abs(ok - ng) > 1) {
            var mid = (ok + ng) / 2;
            if(f(mid))
                ok = mid;
            else
                ng = mid;
        }
        return ok;
    }
    SimpleIO io = new SimpleIO();
    public static void Main(string[] args) => new Simple().Stream();
    private void Stream() {
        //var exStdIn = new System.IO.StreamReader("stdin.txt");
        //SetIn(exStdIn);
        Solve();
        io.Flush();
    }
}
class SimpleIO {
    string[] _nextBuffer;
    int _bufferCnt;
    char[] cs = new char[] {' ', '"', ','};
    StreamWriter sw = new StreamWriter(OpenStandardOutput()) {
        AutoFlush = false
    };
    public SimpleIO() {
        _nextBuffer = new string[0];
        _bufferCnt = 0;
        SetOut(sw);
    }
    string Next() {
        if(_bufferCnt < _nextBuffer.Length)
            return _nextBuffer[_bufferCnt++];
        var st = ReadLine();
        while(st == "")
            st = ReadLine();
        if(st != null)
            _nextBuffer = st.Split(cs, StringSplitOptions.RemoveEmptyEntries);
        else
            st = "";
        _bufferCnt = 0;
        return _nextBuffer[_bufferCnt++];
    }
    public string String => Next();
    public char Char => char.Parse(String);
    public int Int => int.Parse(String);
    public long Long => long.Parse(String);
    public double Double => double.Parse(String);
    public void Flush() => Out.Flush();
}

Submission Info

Submission Time
Task D - 射撃王
User rui0422
Language C# (Mono 4.6.2.0)
Score 0
Code Size 2396 Byte
Status WA
Exec Time 338 ms
Memory 18052 KB

Judge Result

Set Name Sample Subtask1 Subtask2
Score / Max Score 0 / 0 0 / 30 0 / 70
Status
AC × 1
WA × 1
AC × 2
WA × 15
AC × 2
WA × 30
Set Name Test Cases
Sample subtask0-sample01.txt, subtask0-sample02.txt
Subtask1 subtask0-sample01.txt, subtask0-sample02.txt, subtask1-01.txt, subtask1-02.txt, subtask1-03.txt, subtask1-04.txt, subtask1-05.txt, subtask1-06.txt, subtask1-07.txt, subtask1-08.txt, subtask1-09.txt, subtask1-10.txt, subtask1-11.txt, subtask1-12.txt, subtask1-13.txt, subtask1-14.txt, subtask1-15.txt
Subtask2 subtask0-sample01.txt, subtask0-sample02.txt, subtask1-01.txt, subtask1-02.txt, subtask1-03.txt, subtask1-04.txt, subtask1-05.txt, subtask1-06.txt, subtask1-07.txt, subtask1-08.txt, subtask1-09.txt, subtask1-10.txt, subtask1-11.txt, subtask1-12.txt, subtask1-13.txt, subtask1-14.txt, subtask1-15.txt, subtask2-01.txt, subtask2-02.txt, subtask2-03.txt, subtask2-04.txt, subtask2-05.txt, subtask2-06.txt, subtask2-07.txt, subtask2-08.txt, subtask2-09.txt, subtask2-10.txt, subtask2-11.txt, subtask2-12.txt, subtask2-13.txt, subtask2-14.txt, subtask2-15.txt
Case Name Status Exec Time Memory
subtask0-sample01.txt WA 26 ms 11220 KB
subtask0-sample02.txt AC 24 ms 11220 KB
subtask1-01.txt WA 24 ms 9300 KB
subtask1-02.txt AC 24 ms 9300 KB
subtask1-03.txt WA 24 ms 11348 KB
subtask1-04.txt WA 24 ms 11348 KB
subtask1-05.txt WA 24 ms 11348 KB
subtask1-06.txt WA 24 ms 9300 KB
subtask1-07.txt WA 24 ms 9300 KB
subtask1-08.txt WA 24 ms 11348 KB
subtask1-09.txt WA 25 ms 13396 KB
subtask1-10.txt WA 25 ms 11348 KB
subtask1-11.txt WA 24 ms 11220 KB
subtask1-12.txt WA 24 ms 11220 KB
subtask1-13.txt WA 24 ms 11220 KB
subtask1-14.txt WA 24 ms 9300 KB
subtask1-15.txt WA 24 ms 9300 KB
subtask2-01.txt WA 25 ms 9172 KB
subtask2-02.txt WA 30 ms 11348 KB
subtask2-03.txt WA 36 ms 11308 KB
subtask2-04.txt WA 87 ms 13340 KB
subtask2-05.txt WA 179 ms 15572 KB
subtask2-06.txt WA 253 ms 15820 KB
subtask2-07.txt WA 302 ms 15892 KB
subtask2-08.txt WA 338 ms 16000 KB
subtask2-09.txt WA 329 ms 15324 KB
subtask2-10.txt WA 305 ms 13900 KB
subtask2-11.txt WA 337 ms 13952 KB
subtask2-12.txt WA 335 ms 16000 KB
subtask2-13.txt WA 314 ms 18052 KB
subtask2-14.txt WA 331 ms 16000 KB
subtask2-15.txt WA 337 ms 16000 KB