提出 #7639138


ソースコード 拡げる

Copy
/**
 * @author Finn Lidbetter
 */
import java.util.*;
import java.io.*;
import java.awt.geom.*;

public class Main {
  public static void main(String[] args) throws IOException {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    StringBuilder sb = new StringBuilder();
    
    String[] s = br.readLine().split(" ");
    int n = Integer.parseInt(s[0]);
    int k = Integer.parseInt(s[1]);
    s = br.readLine().split(" ");
    int[] arr = new int[n];
    for (int i=0; i<n; i++) {
      arr[i] = Integer.parseInt(s[i]);
    }
    TreeSet<Integer> window = new TreeSet<>();
    int tail = 1;
    boolean noChangeSeen = false;
    for (int i=0; i<k; i++) {
      window.add(arr[i]);
    }
    for (int i=k-1; i>0; i--) {
      if (arr[i]>arr[i-1]) {
        tail++;
      } else {
        break;
      }
    }
    if (tail==k) {
      noChangeSeen = true;
    }
    int count = 1;
    for (int i=k; i<n; i++) {
      if (arr[i]>arr[i-1]) {
        if (tail<k) {
          tail++;
        }
      } else {
        tail = 1;
      }
      if (tail==k && !noChangeSeen) {
        count++;
        noChangeSeen = true;
      }
      if (tail!=k) {
        if (!(arr[i]>window.last() && arr[i-k]==window.first())) {
          count++;
        }
      }
      window.remove(arr[i-k]);
      window.add(arr[i]);
    }
    System.out.println(count);
  }
}

提出情報

提出日時
問題 B - Sorting a Segment
ユーザ FinnLidbetter
言語 Java8 (OpenJDK 1.8.0)
得点 700
コード長 1438 Byte
結果 AC
実行時間 442 ms
メモリ 55676 KB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 700 / 700
結果
AC × 3
AC × 32
セット名 テストケース
Sample sample-01.txt, sample-02.txt, sample-03.txt
All 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 01-19.txt, 01-20.txt, 01-21.txt, 01-22.txt, 01-23.txt, 01-24.txt, 01-25.txt, 01-26.txt, 01-27.txt, 01-28.txt, 01-29.txt, sample-01.txt, sample-02.txt, sample-03.txt
ケース名 結果 実行時間 メモリ
01-01.txt AC 74 ms 19540 KB
01-02.txt AC 67 ms 21332 KB
01-03.txt AC 413 ms 52976 KB
01-04.txt AC 379 ms 51428 KB
01-05.txt AC 274 ms 45864 KB
01-06.txt AC 309 ms 50524 KB
01-07.txt AC 289 ms 49880 KB
01-08.txt AC 325 ms 47996 KB
01-09.txt AC 280 ms 46692 KB
01-10.txt AC 319 ms 45108 KB
01-11.txt AC 365 ms 49692 KB
01-12.txt AC 383 ms 48056 KB
01-13.txt AC 310 ms 46456 KB
01-14.txt AC 359 ms 44588 KB
01-15.txt AC 374 ms 47908 KB
01-16.txt AC 442 ms 49860 KB
01-17.txt AC 401 ms 51492 KB
01-18.txt AC 338 ms 51264 KB
01-19.txt AC 364 ms 55028 KB
01-20.txt AC 337 ms 55676 KB
01-21.txt AC 402 ms 51824 KB
01-22.txt AC 371 ms 49288 KB
01-23.txt AC 345 ms 50696 KB
01-24.txt AC 340 ms 50744 KB
01-25.txt AC 305 ms 54560 KB
01-26.txt AC 301 ms 52604 KB
01-27.txt AC 319 ms 55084 KB
01-28.txt AC 286 ms 55072 KB
01-29.txt AC 295 ms 53500 KB
sample-01.txt AC 71 ms 17876 KB
sample-02.txt AC 69 ms 18516 KB
sample-03.txt AC 70 ms 19156 KB