提出 #74168204


ソースコード 拡げる

import java.io.*;
import java.util.*;

public class Main {
    public static void main(String[] args) {
        InputReader reader = new InputReader(System.in);
        PrintWriter writer = new PrintWriter(System.out, false);
        int N = reader.nextInt();
        int K = reader.nextInt();
        int[] A = new int[N];
        for (int i = 0; i < N; i++) {
            A[i] = reader.nextInt();
        }
        writer.println(atMost(A, K) - atMost(A, K - 1));
        writer.close();
        System.exit(0);
    }

    private static long atMost(int[] A, int K) {
        if (K < 0) return 0;
        long result = 0;
        TreeMap<Integer, Integer> tempCount = new TreeMap<>();
        for (int r = 0, l = 0; r < A.length; r++) {
            tempCount.put(A[r], tempCount.getOrDefault(A[r], 0) + 1);
            while (tempCount.lastKey() - tempCount.firstKey() > K) {
                tempCount.put(A[l], tempCount.get(A[l]) - 1);
                tempCount.remove(A[l++], 0);
            }
            result += r - l + 1;
        }
        return result;
    }

    static class InputReader {
        public BufferedReader reader;
        public StringTokenizer tokenizer;
        public InputReader(InputStream stream) {
            reader = new BufferedReader(new InputStreamReader(stream), 32768);
            tokenizer = null;
        }
        public String next() {
            while (tokenizer == null || !tokenizer.hasMoreTokens()) {
                try {
                    tokenizer = new StringTokenizer(reader.readLine());
                } catch (IOException e) {
                    throw new RuntimeException(e);
                }
            }
            return tokenizer.nextToken();
        }
        public int nextInt() {
            return Integer.parseInt(next());
        }
        public long nextLong() {
            return Long.parseLong(next());
        }
        public double nextDouble() {
            return Double.parseDouble(next());
        }
        public String nextLine() {
            String str = "";
            try {
                str = reader.readLine();
            } catch (IOException e) {
                e.printStackTrace();
            }
            return str;
        }
    }
}

提出情報

提出日時
問題 E - ちょうどよい温度差
ユーザ UttamS
言語 Java24 (OpenJDK 24.0.2)
得点 466
コード長 2311 Byte
結果 AC
実行時間 552 ms
メモリ 69580 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 466 / 466
結果
AC × 3
AC × 79
セット名 テストケース
Sample sample01.txt, sample02.txt, sample03.txt
All sample01.txt, sample02.txt, sample03.txt, in01.txt, in02.txt, in03.txt, in04.txt, in05.txt, in06.txt, in07.txt, in08.txt, in09.txt, in10.txt, in11.txt, in12.txt, in13.txt, in14.txt, in15.txt, in16.txt, in17.txt, in18.txt, in19.txt, in20.txt, in21.txt, in22.txt, in23.txt, in24.txt, in25.txt, in26.txt, in27.txt, in28.txt, in29.txt, in30.txt, in31.txt, in32.txt, in33.txt, in34.txt, in35.txt, in36.txt, in37.txt, in38.txt, in39.txt, in40.txt, in41.txt, in42.txt, in43.txt, in44.txt, in45.txt, in46.txt, in47.txt, in48.txt, in49.txt, in50.txt, in51.txt, in52.txt, in53.txt, in54.txt, in55.txt, in56.txt, in57.txt, in58.txt, in59.txt, in60.txt, in61.txt, in62.txt, in63.txt, in64.txt, in65.txt, in66.txt, in67.txt, in68.txt, in69.txt, in70.txt, in71.txt, in72.txt, in73.txt, in74.txt, in75.txt, in76.txt
ケース名 結果 実行時間 メモリ
in01.txt AC 53 ms 38984 KiB
in02.txt AC 49 ms 39440 KiB
in03.txt AC 49 ms 39460 KiB
in04.txt AC 49 ms 39220 KiB
in05.txt AC 48 ms 39112 KiB
in06.txt AC 48 ms 39440 KiB
in07.txt AC 47 ms 39208 KiB
in08.txt AC 290 ms 62572 KiB
in09.txt AC 370 ms 68200 KiB
in10.txt AC 358 ms 62352 KiB
in11.txt AC 337 ms 67560 KiB
in12.txt AC 339 ms 65092 KiB
in13.txt AC 277 ms 62044 KiB
in14.txt AC 243 ms 61628 KiB
in15.txt AC 245 ms 62044 KiB
in16.txt AC 197 ms 59644 KiB
in17.txt AC 49 ms 39116 KiB
in18.txt AC 358 ms 63972 KiB
in19.txt AC 255 ms 62684 KiB
in20.txt AC 284 ms 63000 KiB
in21.txt AC 189 ms 57652 KiB
in22.txt AC 211 ms 61892 KiB
in23.txt AC 438 ms 64368 KiB
in24.txt AC 441 ms 64324 KiB
in25.txt AC 311 ms 66212 KiB
in26.txt AC 283 ms 63212 KiB
in27.txt AC 355 ms 62632 KiB
in28.txt AC 372 ms 63876 KiB
in29.txt AC 316 ms 64308 KiB
in30.txt AC 283 ms 63744 KiB
in31.txt AC 66 ms 40864 KiB
in32.txt AC 252 ms 62088 KiB
in33.txt AC 50 ms 39188 KiB
in34.txt AC 51 ms 39048 KiB
in35.txt AC 48 ms 39160 KiB
in36.txt AC 49 ms 39336 KiB
in37.txt AC 49 ms 39356 KiB
in38.txt AC 60 ms 40392 KiB
in39.txt AC 47 ms 39128 KiB
in40.txt AC 317 ms 65104 KiB
in41.txt AC 235 ms 61324 KiB
in42.txt AC 239 ms 63016 KiB
in43.txt AC 274 ms 63696 KiB
in44.txt AC 278 ms 63340 KiB
in45.txt AC 305 ms 64936 KiB
in46.txt AC 362 ms 68276 KiB
in47.txt AC 324 ms 69580 KiB
in48.txt AC 345 ms 64548 KiB
in49.txt AC 274 ms 65796 KiB
in50.txt AC 291 ms 65428 KiB
in51.txt AC 416 ms 67020 KiB
in52.txt AC 552 ms 64428 KiB
in53.txt AC 314 ms 63592 KiB
in54.txt AC 335 ms 64976 KiB
in55.txt AC 334 ms 64476 KiB
in56.txt AC 249 ms 62008 KiB
in57.txt AC 135 ms 46840 KiB
in58.txt AC 138 ms 46880 KiB
in59.txt AC 49 ms 39468 KiB
in60.txt AC 47 ms 39464 KiB
in61.txt AC 47 ms 39048 KiB
in62.txt AC 48 ms 39244 KiB
in63.txt AC 206 ms 60244 KiB
in64.txt AC 254 ms 61340 KiB
in65.txt AC 50 ms 39232 KiB
in66.txt AC 49 ms 39340 KiB
in67.txt AC 47 ms 39112 KiB
in68.txt AC 48 ms 39152 KiB
in69.txt AC 48 ms 39196 KiB
in70.txt AC 48 ms 39072 KiB
in71.txt AC 49 ms 39424 KiB
in72.txt AC 47 ms 38892 KiB
in73.txt AC 47 ms 39308 KiB
in74.txt AC 47 ms 39164 KiB
in75.txt AC 334 ms 64716 KiB
in76.txt AC 292 ms 63048 KiB
sample01.txt AC 50 ms 39116 KiB
sample02.txt AC 49 ms 39108 KiB
sample03.txt AC 47 ms 39168 KiB