Submission #214011


Source Code Expand

Copy
using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;
using System.Linq;
using System.IO;
using System.Diagnostics;
using Enu = System.Linq.Enumerable;

class Program
{
    void Solve()
    {
        long N = reader.Int(), Start = reader.Int();
        long Cost1 = reader.Int(), Val1 = reader.Int();
        long Cost2 = reader.Int(), Val2 = reader.Int();
        long Minus = reader.Int();
        long ans = Cost2 * N;

        for (int use1 = 0; use1 <= N; use1++)
        {
            long val = Start + Val1 * use1;
            long rem = N - use1;
            long lb = -1, ub = rem + 1;
            while (ub - lb > 1)
            {
                long mid = (lb + ub) / 2;
                if (Can(rem, val, Val2, mid, Minus)) ub = mid;
                else lb = mid;
            }
            long cost = Cost1 * use1 + Cost2 * ub;
            ans = Math.Min(ans, cost);
        }

        Console.WriteLine(ans);
    }

    bool Can(long days, long start, long val, long use, long minus)
    {
        days = Math.Max(0, days- use);
        start += val * use;
        return start > minus * days;
    }


    static void Main() { new Program().Solve(); }
    Reader reader = new Reader(Console.In);
    class Reader
    {
        private readonly TextReader reader;
        private readonly char[] separator = new char[] { ' ' };
        private readonly StringSplitOptions removeOp = StringSplitOptions.RemoveEmptyEntries;
        private string[] A = new string[0];
        private int i;

        public Reader(TextReader r) { reader = r; }
        public bool HasNext() { return Enqueue(); }
        public string String() { return Dequeue(); }
        public int Int() { return int.Parse(Dequeue()); }
        public long Long() { return long.Parse(Dequeue()); }
        public double Double() { return double.Parse(Dequeue()); }
        public int[] IntLine() { var s = Line(); return s == "" ? new int[0] : Array.ConvertAll(Split(s), int.Parse); }
        public int[] IntArray(int N) { return Enumerable.Range(0, N).Select(i => Int()).ToArray(); }
        public int[][] IntGrid(int H) { return Enumerable.Range(0, H).Select(i => IntLine()).ToArray(); }
        public string[] StringArray(int N) { return Enumerable.Range(0, N).Select(i => Line()).ToArray(); }
        public string Line() { return reader.ReadLine().Trim(); }
        private string[] Split(string s) { return s.Split(separator, removeOp); }
        private bool Enqueue()
        {
            if (i < A.Length) return true;
            string line = reader.ReadLine();
            if (line == null) return false;
            if (line == "") return Enqueue();
            A = Split(line);
            i = 0;
            return true;
        }
        private string Dequeue() { Enqueue(); return A[i++]; }
    }
}

Submission Info

Submission Time
Task C - 節制
User eitaho
Language C# (Mono 2.10.8.1)
Score 101
Code Size 2933 Byte
Status AC
Exec Time 345 ms
Memory 7840 KB

Judge Result

Set Name Subtask1 Subtask2 Subtask3 Subtask4
Score / Max Score 10 / 10 30 / 30 60 / 60 1 / 1
Status
AC × 25
AC × 25
AC × 86
AC × 99
Set Name Test Cases
Subtask1 sample_1.txt, sample_2.txt, sample_3.txt, 01_010.txt, 01_011.txt, 01_020.txt, 01_021.txt, 01_100.txt, 01_101.txt, 01_110.txt, 01_111.txt, 01_200.txt, 01_201.txt, 01_220.txt, 01_221.txt, 01_random01.txt, 01_random02.txt, 01_random03.txt, 01_random04.txt, 01_random05.txt, 01_random06.txt, 01_random07.txt, 01_random08.txt, 01_random09.txt, 01_random10.txt
Subtask2 sample_1.txt, sample_2.txt, sample_3.txt, 02_010.txt, 02_011.txt, 02_020.txt, 02_021.txt, 02_100.txt, 02_101.txt, 02_110.txt, 02_111.txt, 02_200.txt, 02_201.txt, 02_220.txt, 02_221.txt, 02_random01.txt, 02_random02.txt, 02_random03.txt, 02_random04.txt, 02_random05.txt, 02_random06.txt, 02_random07.txt, 02_random08.txt, 02_random09.txt, 02_random10.txt
Subtask3 sample_1.txt, sample_2.txt, sample_3.txt, sample_4.txt, 01_010.txt, 01_011.txt, 01_020.txt, 01_021.txt, 01_100.txt, 01_101.txt, 01_110.txt, 01_111.txt, 01_200.txt, 01_201.txt, 01_220.txt, 01_221.txt, 01_random01.txt, 01_random02.txt, 01_random03.txt, 01_random04.txt, 01_random05.txt, 01_random06.txt, 01_random07.txt, 01_random08.txt, 01_random09.txt, 01_random10.txt, 02_010.txt, 02_011.txt, 02_020.txt, 02_021.txt, 02_100.txt, 02_101.txt, 02_110.txt, 02_111.txt, 02_200.txt, 02_201.txt, 02_220.txt, 02_221.txt, 02_random01.txt, 02_random02.txt, 02_random03.txt, 02_random04.txt, 02_random05.txt, 02_random06.txt, 02_random07.txt, 02_random08.txt, 02_random09.txt, 02_random10.txt, 03_010.txt, 03_011.txt, 03_012.txt, 03_020.txt, 03_021.txt, 03_022.txt, 03_100.txt, 03_101.txt, 03_102.txt, 03_110.txt, 03_111.txt, 03_112.txt, 03_200.txt, 03_201.txt, 03_202.txt, 03_220.txt, 03_221.txt, 03_222.txt, 03_random01.txt, 03_random02.txt, 03_random03.txt, 03_random04.txt, 03_random05.txt, 03_random06.txt, 03_random07.txt, 03_random08.txt, 03_random09.txt, 03_random10.txt, 03_random11.txt, 03_random12.txt, 03_random13.txt, 03_random14.txt, 03_random15.txt, 03_random16.txt, 03_random17.txt, 03_random18.txt, 03_random19.txt, 03_random20.txt
Subtask4 01_010.txt, 01_011.txt, 01_020.txt, 01_021.txt, 01_100.txt, 01_101.txt, 01_110.txt, 01_111.txt, 01_200.txt, 01_201.txt, 01_220.txt, 01_221.txt, 01_random01.txt, 01_random02.txt, 01_random03.txt, 01_random04.txt, 01_random05.txt, 01_random06.txt, 01_random07.txt, 01_random08.txt, 01_random09.txt, 01_random10.txt, 02_010.txt, 02_011.txt, 02_020.txt, 02_021.txt, 02_100.txt, 02_101.txt, 02_110.txt, 02_111.txt, 02_200.txt, 02_201.txt, 02_220.txt, 02_221.txt, 02_random01.txt, 02_random02.txt, 02_random03.txt, 02_random04.txt, 02_random05.txt, 02_random06.txt, 02_random07.txt, 02_random08.txt, 02_random09.txt, 02_random10.txt, 03_010.txt, 03_011.txt, 03_012.txt, 03_020.txt, 03_021.txt, 03_022.txt, 03_100.txt, 03_101.txt, 03_102.txt, 03_110.txt, 03_111.txt, 03_112.txt, 03_200.txt, 03_201.txt, 03_202.txt, 03_220.txt, 03_221.txt, 03_222.txt, 03_random01.txt, 03_random02.txt, 03_random03.txt, 03_random04.txt, 03_random05.txt, 03_random06.txt, 03_random07.txt, 03_random08.txt, 03_random09.txt, 03_random10.txt, 03_random11.txt, 03_random12.txt, 03_random13.txt, 03_random14.txt, 03_random15.txt, 03_random16.txt, 03_random17.txt, 03_random18.txt, 03_random19.txt, 03_random20.txt, 04_010.txt, 04_011.txt, 04_020.txt, 04_021.txt, 04_100.txt, 04_101.txt, 04_110.txt, 04_111.txt, 04_200.txt, 04_201.txt, 04_220.txt, 04_221.txt, 04_random01.txt, 04_random02.txt, 04_random03.txt, 04_random04.txt, 04_random05.txt
Case Name Status Exec Time Memory
01_010.txt AC 133 ms 7712 KB
01_011.txt AC 137 ms 7708 KB
01_020.txt AC 133 ms 7768 KB
01_021.txt AC 134 ms 7768 KB
01_100.txt AC 133 ms 7840 KB
01_101.txt AC 134 ms 7744 KB
01_110.txt AC 132 ms 7700 KB
01_111.txt AC 134 ms 7708 KB
01_200.txt AC 136 ms 7708 KB
01_201.txt AC 137 ms 7708 KB
01_220.txt AC 136 ms 7696 KB
01_221.txt AC 133 ms 7712 KB
01_random01.txt AC 157 ms 7708 KB
01_random02.txt AC 133 ms 7704 KB
01_random03.txt AC 133 ms 7712 KB
01_random04.txt AC 136 ms 7712 KB
01_random05.txt AC 137 ms 7756 KB
01_random06.txt AC 137 ms 7684 KB
01_random07.txt AC 134 ms 7696 KB
01_random08.txt AC 134 ms 7712 KB
01_random09.txt AC 135 ms 7740 KB
01_random10.txt AC 133 ms 7704 KB
02_010.txt AC 130 ms 7712 KB
02_011.txt AC 136 ms 7696 KB
02_020.txt AC 134 ms 7712 KB
02_021.txt AC 132 ms 7712 KB
02_100.txt AC 132 ms 7712 KB
02_101.txt AC 137 ms 7772 KB
02_110.txt AC 133 ms 7712 KB
02_111.txt AC 134 ms 7712 KB
02_200.txt AC 134 ms 7764 KB
02_201.txt AC 132 ms 7712 KB
02_220.txt AC 135 ms 7772 KB
02_221.txt AC 134 ms 7700 KB
02_random01.txt AC 132 ms 7696 KB
02_random02.txt AC 133 ms 7712 KB
02_random03.txt AC 131 ms 7700 KB
02_random04.txt AC 137 ms 7756 KB
02_random05.txt AC 132 ms 7696 KB
02_random06.txt AC 130 ms 7756 KB
02_random07.txt AC 132 ms 7700 KB
02_random08.txt AC 133 ms 7712 KB
02_random09.txt AC 132 ms 7708 KB
02_random10.txt AC 134 ms 7712 KB
03_010.txt AC 138 ms 7692 KB
03_011.txt AC 131 ms 7712 KB
03_012.txt AC 133 ms 7712 KB
03_020.txt AC 132 ms 7740 KB
03_021.txt AC 134 ms 7840 KB
03_022.txt AC 131 ms 7756 KB
03_100.txt AC 133 ms 7712 KB
03_101.txt AC 133 ms 7712 KB
03_102.txt AC 130 ms 7680 KB
03_110.txt AC 134 ms 7708 KB
03_111.txt AC 132 ms 7744 KB
03_112.txt AC 132 ms 7768 KB
03_200.txt AC 132 ms 7708 KB
03_201.txt AC 134 ms 7748 KB
03_202.txt AC 135 ms 7756 KB
03_220.txt AC 135 ms 7708 KB
03_221.txt AC 132 ms 7704 KB
03_222.txt AC 134 ms 7688 KB
03_random01.txt AC 132 ms 7712 KB
03_random02.txt AC 131 ms 7708 KB
03_random03.txt AC 131 ms 7768 KB
03_random04.txt AC 134 ms 7832 KB
03_random05.txt AC 132 ms 7712 KB
03_random06.txt AC 135 ms 7712 KB
03_random07.txt AC 133 ms 7748 KB
03_random08.txt AC 135 ms 7748 KB
03_random09.txt AC 134 ms 7800 KB
03_random10.txt AC 132 ms 7708 KB
03_random11.txt AC 133 ms 7712 KB
03_random12.txt AC 134 ms 7736 KB
03_random13.txt AC 132 ms 7712 KB
03_random14.txt AC 133 ms 7748 KB
03_random15.txt AC 135 ms 7692 KB
03_random16.txt AC 134 ms 7752 KB
03_random17.txt AC 136 ms 7736 KB
03_random18.txt AC 132 ms 7712 KB
03_random19.txt AC 135 ms 7708 KB
03_random20.txt AC 134 ms 7712 KB
04_010.txt AC 307 ms 7816 KB
04_011.txt AC 319 ms 7760 KB
04_020.txt AC 313 ms 7748 KB
04_021.txt AC 313 ms 7684 KB
04_100.txt AC 325 ms 7704 KB
04_101.txt AC 270 ms 7704 KB
04_110.txt AC 246 ms 7820 KB
04_111.txt AC 240 ms 7704 KB
04_200.txt AC 157 ms 7832 KB
04_201.txt AC 136 ms 7688 KB
04_220.txt AC 189 ms 7696 KB
04_221.txt AC 287 ms 7704 KB
04_random01.txt AC 140 ms 7832 KB
04_random02.txt AC 172 ms 7792 KB
04_random03.txt AC 222 ms 7768 KB
04_random04.txt AC 345 ms 7832 KB
04_random05.txt AC 186 ms 7760 KB
sample_1.txt AC 131 ms 7712 KB
sample_2.txt AC 137 ms 7712 KB
sample_3.txt AC 131 ms 7768 KB
sample_4.txt AC 132 ms 7708 KB