提出 #71313057


ソースコード 拡げる

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

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        PrintWriter out = new PrintWriter(System.out);

        StringTokenizer st = new StringTokenizer(br.readLine());
        int N = Integer.parseInt(st.nextToken());

        int H = 2000;
        int W = 2000;

        int[][] diff = new int[H + 2][W + 2];
        int[][] clouds = new int[N][4];

        for (int i = 0; i < N; i++) {
            st = new StringTokenizer(br.readLine());
            int u = Integer.parseInt(st.nextToken());
            int d = Integer.parseInt(st.nextToken());
            int l = Integer.parseInt(st.nextToken());
            int r = Integer.parseInt(st.nextToken());

            clouds[i][0] = u;
            clouds[i][1] = d;
            clouds[i][2] = l;
            clouds[i][3] = r;

            diff[u][l]++;
            diff[u][r + 1]--;
            diff[d + 1][l]--;
            diff[d + 1][r + 1]++;
        }

        int[][] ones = new int[H + 2][W + 2];
        int currentEmptyCount = 0;

        for (int i = 1; i <= H; i++) {
            for (int j = 1; j <= W; j++) {
                diff[i][j] += diff[i - 1][j] + diff[i][j - 1] - diff[i - 1][j - 1];
                
                if (diff[i][j] == 0) {
                    currentEmptyCount++;
                } else if (diff[i][j] == 1) {
                    ones[i][j] = 1;
                }
            }
        }

        int[][] P = new int[H + 2][W + 2];
        for (int i = 1; i <= H; i++) {
            for (int j = 1; j <= W; j++) {
                P[i][j] = ones[i][j] + P[i - 1][j] + P[i][j - 1] - P[i - 1][j - 1];
            }
        }

        for (int i = 0; i < N; i++) {
            int u = clouds[i][0];
            int d = clouds[i][1];
            int l = clouds[i][2];
            int r = clouds[i][3];

            int recoveredCells = P[d][r] - P[u - 1][r] - P[d][l - 1] + P[u - 1][l - 1];

            out.println(currentEmptyCount + recoveredCells);
        }

        out.flush();
    }
}

提出情報

提出日時
問題 D - Clouds
ユーザ addy
言語 Java24 (OpenJDK 24.0.2)
得点 425
コード長 2221 Byte
結果 AC
実行時間 389 ms
メモリ 116232 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 425 / 425
結果
AC × 1
AC × 58
セット名 テストケース
Sample sample_01.txt
All sample_01.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt, test_23.txt, test_24.txt, test_25.txt, test_26.txt, test_27.txt, test_28.txt, test_29.txt, test_30.txt, test_31.txt, test_32.txt, test_33.txt, test_34.txt, test_35.txt, test_36.txt, test_37.txt, test_38.txt, test_39.txt, test_40.txt, test_41.txt, test_42.txt, test_43.txt, test_44.txt, test_45.txt, test_46.txt, test_47.txt, test_48.txt, test_49.txt, test_50.txt, test_51.txt, test_52.txt, test_53.txt, test_54.txt, test_55.txt, test_56.txt, test_57.txt
ケース名 結果 実行時間 メモリ
sample_01.txt AC 109 ms 89980 KiB
test_01.txt AC 98 ms 89152 KiB
test_02.txt AC 343 ms 114888 KiB
test_03.txt AC 299 ms 115208 KiB
test_04.txt AC 296 ms 115440 KiB
test_05.txt AC 298 ms 116232 KiB
test_06.txt AC 300 ms 114796 KiB
test_07.txt AC 297 ms 115436 KiB
test_08.txt AC 123 ms 90804 KiB
test_09.txt AC 250 ms 104664 KiB
test_10.txt AC 306 ms 112960 KiB
test_11.txt AC 250 ms 103772 KiB
test_12.txt AC 258 ms 99376 KiB
test_13.txt AC 104 ms 89232 KiB
test_14.txt AC 185 ms 105596 KiB
test_15.txt AC 113 ms 88948 KiB
test_16.txt AC 94 ms 87972 KiB
test_17.txt AC 237 ms 108644 KiB
test_18.txt AC 247 ms 107004 KiB
test_19.txt AC 97 ms 89112 KiB
test_20.txt AC 95 ms 89804 KiB
test_21.txt AC 100 ms 89076 KiB
test_22.txt AC 128 ms 89248 KiB
test_23.txt AC 91 ms 88208 KiB
test_24.txt AC 254 ms 98992 KiB
test_25.txt AC 157 ms 106444 KiB
test_26.txt AC 226 ms 97556 KiB
test_27.txt AC 174 ms 107148 KiB
test_28.txt AC 116 ms 89412 KiB
test_29.txt AC 93 ms 89592 KiB
test_30.txt AC 98 ms 89008 KiB
test_31.txt AC 321 ms 113828 KiB
test_32.txt AC 121 ms 89612 KiB
test_33.txt AC 352 ms 114740 KiB
test_34.txt AC 375 ms 115520 KiB
test_35.txt AC 362 ms 115072 KiB
test_36.txt AC 369 ms 115176 KiB
test_37.txt AC 370 ms 114744 KiB
test_38.txt AC 389 ms 115184 KiB
test_39.txt AC 374 ms 115220 KiB
test_40.txt AC 363 ms 115620 KiB
test_41.txt AC 356 ms 115272 KiB
test_42.txt AC 370 ms 115008 KiB
test_43.txt AC 374 ms 115216 KiB
test_44.txt AC 373 ms 114960 KiB
test_45.txt AC 379 ms 115620 KiB
test_46.txt AC 377 ms 115392 KiB
test_47.txt AC 387 ms 115136 KiB
test_48.txt AC 389 ms 115100 KiB
test_49.txt AC 377 ms 115064 KiB
test_50.txt AC 365 ms 115488 KiB
test_51.txt AC 350 ms 114900 KiB
test_52.txt AC 373 ms 115376 KiB
test_53.txt AC 378 ms 115872 KiB
test_54.txt AC 375 ms 115240 KiB
test_55.txt AC 369 ms 114864 KiB
test_56.txt AC 355 ms 114820 KiB
test_57.txt AC 368 ms 114852 KiB