Submission #1627807


Source Code Expand

using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Linq.Expressions;
using System.Text;
class Simple {
    int N;
    //int w,h
    const int INF = (int)1e9;
    void Solve() {
        //input
        N = io.Int;
        var wh = new Tuple<int, int>[N];
        for(int i = 0; i < N; ++i) {
            var w = io.Int;
            var h = io.Int;
            wh[i] = Tuple.Create(w, h);
        }
        //cal
        wh = wh.OrderBy(t => t.Item1).ThenByDescending(t => t.Item2).ToArray();
        var arr = new int[N + 1];
        for (int i = 0; i < arr.Length; ++i)
            arr[i] = INF;
        for(int i = 0; i < N; ++i) 
            arr[LowerBound(arr, wh[i].Item2)] = wh[i].Item2;
        //ret
        Console.WriteLine(LowerBound(arr, INF));
    }

    int LowerBound(int[] arr,int val) {
        var lb = -1;
        var ub = arr.Length;
        while (ub - lb > 1) {
            int mid = (lb + ub) / 2;
            if (arr[mid] >= val)
                ub = mid;
            else
                lb = mid;
        }
        return ub;
    }

    SimpleIO io = new SimpleIO();
    public static void Main(string[] args) { new Simple().Stream(); }
    void Stream() {
        Solve();
        io.writeFlush();
    }
}
class SimpleIO {
    string[] nextBuffer;
    int BufferCnt;
    char[] cs = new char[] { ' ' };
    StreamWriter sw = new StreamWriter(Console.OpenStandardOutput()) { AutoFlush = false };
    public SimpleIO() {
        nextBuffer = new string[0];
        BufferCnt = 0;
        Console.SetOut(sw);
    }
    public string Next() {
        if (BufferCnt < nextBuffer.Length)
            return nextBuffer[BufferCnt++];

        string st = Console.ReadLine();
        while (st == "")
            st = Console.ReadLine();
        nextBuffer = st.Split(cs, StringSplitOptions.RemoveEmptyEntries);
        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 writeFlush() { Console.Out.Flush(); }
}

Submission Info

Submission Time
Task D - プレゼント
User rui0422
Language C# (Mono 4.6.2.0)
Score 100
Code Size 2347 Byte
Status AC
Exec Time 198 ms
Memory 27464 KB

Judge Result

Set Name Sample Subtask0 All
Score / Max Score 0 / 0 30 / 30 70 / 70
Status
AC × 4
AC × 19
AC × 34
Set Name Test Cases
Sample sample0.txt, sample1.txt, sample2.txt, sample3.txt
Subtask0 subtask0_0.txt, subtask0_1.txt, subtask0_10.txt, subtask0_11.txt, subtask0_12.txt, subtask0_13.txt, subtask0_14.txt, subtask0_2.txt, subtask0_3.txt, subtask0_4.txt, subtask0_5.txt, subtask0_6.txt, subtask0_7.txt, subtask0_8.txt, subtask0_9.txt, sample0.txt, sample1.txt, sample2.txt, sample3.txt
All sample0.txt, sample1.txt, sample2.txt, sample3.txt, subtask0_0.txt, subtask0_1.txt, subtask0_10.txt, subtask0_11.txt, subtask0_12.txt, subtask0_13.txt, subtask0_14.txt, subtask0_2.txt, subtask0_3.txt, subtask0_4.txt, subtask0_5.txt, subtask0_6.txt, subtask0_7.txt, subtask0_8.txt, subtask0_9.txt, subtask1_0.txt, subtask1_1.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_2.txt, subtask1_3.txt, subtask1_4.txt, subtask1_5.txt, subtask1_6.txt, subtask1_7.txt, subtask1_8.txt, subtask1_9.txt
Case Name Status Exec Time Memory
sample0.txt AC 31 ms 9688 KB
sample1.txt AC 26 ms 11348 KB
sample2.txt AC 26 ms 11348 KB
sample3.txt AC 25 ms 9300 KB
subtask0_0.txt AC 26 ms 11348 KB
subtask0_1.txt AC 26 ms 11352 KB
subtask0_10.txt AC 27 ms 11432 KB
subtask0_11.txt AC 27 ms 9384 KB
subtask0_12.txt AC 27 ms 11432 KB
subtask0_13.txt AC 28 ms 13352 KB
subtask0_14.txt AC 27 ms 11432 KB
subtask0_2.txt AC 26 ms 11348 KB
subtask0_3.txt AC 27 ms 13396 KB
subtask0_4.txt AC 27 ms 11328 KB
subtask0_5.txt AC 26 ms 11348 KB
subtask0_6.txt AC 27 ms 11328 KB
subtask0_7.txt AC 27 ms 11328 KB
subtask0_8.txt AC 28 ms 13376 KB
subtask0_9.txt AC 26 ms 11348 KB
subtask1_0.txt AC 125 ms 19924 KB
subtask1_1.txt AC 29 ms 13436 KB
subtask1_10.txt AC 164 ms 21320 KB
subtask1_11.txt AC 158 ms 21320 KB
subtask1_12.txt AC 198 ms 21320 KB
subtask1_13.txt AC 191 ms 27464 KB
subtask1_14.txt AC 187 ms 23368 KB
subtask1_2.txt AC 51 ms 16476 KB
subtask1_3.txt AC 162 ms 24268 KB
subtask1_4.txt AC 188 ms 25416 KB
subtask1_5.txt AC 46 ms 12128 KB
subtask1_6.txt AC 148 ms 21328 KB
subtask1_7.txt AC 89 ms 18648 KB
subtask1_8.txt AC 167 ms 20172 KB
subtask1_9.txt AC 97 ms 18904 KB