Submission #3451852


Source Code Expand

using System;
using System.Linq;//リストの使用
using System.Collections.Generic;
class Program
{
static long n = long.Parse(Console.ReadLine());
static long[] nums = new long[n];
static long[][] numsSub = new long[n][];
static long[] rightMin = new long[n];//長さがi+1のときの右端の最小値
static long answer = 1;
static long compareMemo = 0;

	static void Main()
	{
    for(long i = 0; i < n; i++)
    {
      numsSub[i] = new long[2];
      string[] input = Console.ReadLine().Split(' ');
  		numsSub[i][0] = long.Parse(input[0]);
  		numsSub[i][1] = long.Parse(input[1]);
    }
    Array.Sort(numsSub, (a, b) => a[0].CompareTo(b[0]));//xのみソート
    long minMemo = 0;//最小数
    long minMemoNum = -1;//最小数の更新回数
    for(long i = 0; i < n; i++)
    {
      if(numsSub[i][0] > minMemo)
      {
        minMemoNum++;
        nums[minMemoNum] = numsSub[i][1];
        minMemo = numsSub[i][0];
      }else
      {
        nums[minMemoNum] = Math.Min(nums[minMemoNum], numsSub[i][1]);
      }
    }
    
    rightMin[0] = nums[0];

    for(long i = 1; i < minMemoNum + 1; i++)
    {
      if(nums[i] > rightMin[answer-1])
      {
        rightMin[answer] = nums[i];
        answer++;
      }else
      {
        compareMemo = nums[i];
        rightMin[Search(0, answer-1)] = nums[i];//更新位置を二部探索する
      }
    }
    
		Console.WriteLine(answer);
	}

  static long Search(long min, long max)//二分探索法で最小値を求める
  {
    while (true)
    {
      long mid = min + (max - min) / 2;
      if(Check(mid)) max = mid;//さらに大きくても成り立つかも
      else min = mid;

      if(max - min <= 1)
      {
        if(Check(min)) 
        {
          return min;//最小値で成り立つかの確認を優先
        }
        else
        {
          return max;
        }
      break;
      }  
    }
  }

  static bool Check(long testNum)
  {
    if(rightMin[testNum] >= compareMemo) return true;//同じ数で右端を複数にしないように、等号を含む
    return false;
  }

}

Submission Info

Submission Time
Task D - プレゼント
User suikameron
Language C# (Mono 4.6.2.0)
Score 30
Code Size 2163 Byte
Status WA
Exec Time 179 ms
Memory 24504 KB

Judge Result

Set Name Sample Subtask0 All
Score / Max Score 0 / 0 30 / 30 0 / 70
Status
AC × 4
AC × 19
AC × 22
WA × 12
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 22 ms 11348 KB
sample1.txt AC 21 ms 11220 KB
sample2.txt AC 22 ms 13268 KB
sample3.txt AC 21 ms 9172 KB
subtask0_0.txt AC 22 ms 11220 KB
subtask0_1.txt AC 22 ms 11220 KB
subtask0_10.txt AC 23 ms 11348 KB
subtask0_11.txt AC 23 ms 11348 KB
subtask0_12.txt AC 23 ms 13396 KB
subtask0_13.txt AC 23 ms 13396 KB
subtask0_14.txt AC 23 ms 11348 KB
subtask0_2.txt AC 21 ms 9172 KB
subtask0_3.txt AC 21 ms 9172 KB
subtask0_4.txt AC 22 ms 11348 KB
subtask0_5.txt AC 21 ms 11220 KB
subtask0_6.txt AC 23 ms 11348 KB
subtask0_7.txt AC 23 ms 11348 KB
subtask0_8.txt AC 23 ms 9300 KB
subtask0_9.txt AC 21 ms 9300 KB
subtask1_0.txt WA 116 ms 21700 KB
subtask1_1.txt AC 24 ms 9300 KB
subtask1_10.txt AC 130 ms 24504 KB
subtask1_11.txt AC 132 ms 22456 KB
subtask1_12.txt WA 168 ms 22456 KB
subtask1_13.txt WA 170 ms 22456 KB
subtask1_14.txt WA 179 ms 22456 KB
subtask1_2.txt WA 45 ms 16464 KB
subtask1_3.txt WA 148 ms 19260 KB
subtask1_4.txt WA 168 ms 20408 KB
subtask1_5.txt WA 43 ms 16336 KB
subtask1_6.txt WA 131 ms 18496 KB
subtask1_7.txt WA 81 ms 16072 KB
subtask1_8.txt WA 148 ms 21564 KB
subtask1_9.txt WA 87 ms 20552 KB