Submission #1305883
Source Code Expand
import java.util.Arrays; import java.util.Comparator; import java.util.Scanner; public class Main { public static void main(String[] args) { // TODO 自動生成されたメソッド・スタブ Scanner scan = new Scanner(System.in); int N=scan.nextInt(); int[][] box = new int[N][2]; for(int i=0;i<N;i++){ box[i][0]=scan.nextInt(); box[i][1]=scan.nextInt(); } Arrays.sort(box,new ArraySort()); final int INF = 1000000000; int dp[] = new int[N+1];//dp[i] = 単調増加の部分列i を作るのに最小の最後尾の数 int dpw[] = new int[N+1]; //次の数a[i]について、dp[j]<a[i]<=dp[j+1]であればdp[j+1]=a[i] for(int i=0;i<N+1;i++){ dp[i]=INF; dpw[i]=INF; } for(int i=0;i<N;i++){ int result = Arrays.binarySearch(dp,box[i][1]); int insertionPoint = (result>=0) ? result : ~result; if(insertionPoint>0&&dpw[insertionPoint-1]==dpw[insertionPoint]){//同じ幅で積み重ねないように continue; } dp[insertionPoint] =box[i][1]; dpw[insertionPoint] =box[i][0]; } for(int i=0;i<N;i++){ if(dp[i+1]==INF){ System.out.println(i+1); break; } } } } class ArraySort implements Comparator<int[]>{ public int compare(int[] num1,int[] num2){ return num1[0]-num2[0]; } } //O(nlog(n))
Submission Info
Submission Time | |
---|---|
Task | D - プレゼント |
User | inmir |
Language | Java8 (OpenJDK 1.8.0) |
Score | 30 |
Code Size | 1348 Byte |
Status | WA |
Exec Time | 675 ms |
Memory | 90524 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 | 94 ms | 18388 KB |
sample1.txt | AC | 97 ms | 23636 KB |
sample2.txt | AC | 97 ms | 19284 KB |
sample3.txt | AC | 103 ms | 19924 KB |
subtask0_0.txt | AC | 137 ms | 24148 KB |
subtask0_1.txt | AC | 105 ms | 19924 KB |
subtask0_10.txt | AC | 151 ms | 24812 KB |
subtask0_11.txt | AC | 129 ms | 21716 KB |
subtask0_12.txt | AC | 142 ms | 22996 KB |
subtask0_13.txt | AC | 145 ms | 24680 KB |
subtask0_14.txt | AC | 148 ms | 24172 KB |
subtask0_2.txt | AC | 116 ms | 18900 KB |
subtask0_3.txt | AC | 119 ms | 22356 KB |
subtask0_4.txt | AC | 143 ms | 23380 KB |
subtask0_5.txt | AC | 118 ms | 21972 KB |
subtask0_6.txt | AC | 148 ms | 25328 KB |
subtask0_7.txt | AC | 140 ms | 25300 KB |
subtask0_8.txt | AC | 138 ms | 22100 KB |
subtask0_9.txt | AC | 135 ms | 22504 KB |
subtask1_0.txt | WA | 512 ms | 62868 KB |
subtask1_1.txt | AC | 160 ms | 23824 KB |
subtask1_10.txt | AC | 583 ms | 87612 KB |
subtask1_11.txt | AC | 565 ms | 86096 KB |
subtask1_12.txt | WA | 634 ms | 82620 KB |
subtask1_13.txt | WA | 657 ms | 87140 KB |
subtask1_14.txt | AC | 652 ms | 83432 KB |
subtask1_2.txt | WA | 329 ms | 38548 KB |
subtask1_3.txt | WA | 603 ms | 64624 KB |
subtask1_4.txt | WA | 675 ms | 90524 KB |
subtask1_5.txt | WA | 318 ms | 42040 KB |
subtask1_6.txt | WA | 581 ms | 65860 KB |
subtask1_7.txt | WA | 472 ms | 58564 KB |
subtask1_8.txt | WA | 587 ms | 65616 KB |
subtask1_9.txt | AC | 473 ms | 62104 KB |