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 |
|
|
|
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 |