結果
| 問題 | No.365 ジェンガソート | 
| コンテスト | |
| ユーザー |  mencotton | 
| 提出日時 | 2018-02-19 23:12:37 | 
| 言語 | C#(csc) (csc 3.9.0) | 
| 結果 | 
                                WA
                                 
                             | 
| 実行時間 | - | 
| コード長 | 960 bytes | 
| コンパイル時間 | 865 ms | 
| コンパイル使用メモリ | 109,868 KB | 
| 実行使用メモリ | 33,956 KB | 
| 最終ジャッジ日時 | 2024-07-16 03:52:45 | 
| 合計ジャッジ時間 | 4,303 ms | 
| ジャッジサーバーID (参考情報) | judge5 / judge2 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 16 WA * 25 | 
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 3.9.0-6.21124.20 (db94f4cc) Copyright (C) Microsoft Corporation. All rights reserved.
ソースコード
using System;
using System.Linq;
namespace _365
{
    class Program
    {
        public static int LowerBound(int[] arr,int value)
        {
            int low = 0;
            int high = arr.Length;
            int mid;
            while (low < high)
            {
                mid = ((high - low) / 2) + low;
                if (arr[mid] < value)
                    low = mid + 1;
                else
                    high = mid;
            }
            return low;
        }
        static void Main(string[] args)
        {
            int n = int.Parse(Console.ReadLine());
            int[] x = Console.ReadLine().Split().Select(int.Parse).ToArray();
            int[] dp = new int[n];
            for (int i = 0; i < n; i++) dp[i] = 1000000000;
            for (int i = 0; i < n; i++)
            {
                dp[LowerBound(dp,x[i])] = x[i];
            }
            Console.WriteLine(n - LowerBound(dp,1000000000));
        }
    }
}
            
            
            
        