Submission #74220298


Source Code Expand

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 M = reader.nextInt();
        int[][] A = new int[N][2];
        for (int i = 0; i < N; i++) {
            for (int j = 0; j < 2; j++) {
                A[i][j] = reader.nextInt();
            }
        }
        int[] B = new int[M];
        for (int i = 0; i < M; i++) {
            B[i] = reader.nextInt();
        }
        long result = maximumSales(A, B);
        writer.println(result);
        writer.close();
        System.exit(0);
    }

    private static long maximumSales(int[][] A, int[] B) {
        Arrays.sort(A, Comparator.comparing(x -> x[0]));
        Arrays.sort(B);
        long result = 0;
        int j = 0;
        PriorityQueue<Integer> heap = new PriorityQueue<>(Collections.reverseOrder());
        for (int K : B) {
            while (j < A.length && A[j][0] <= K) heap.offer(A[j++][1]);
            if (heap.isEmpty()) return -1;
            result += heap.poll();
        }
        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;
        }
    }
}

Submission Info

Submission Time
Task D - Part-Time Job Shift Assignment
User UttamS
Language Java24 (OpenJDK 24.0.2)
Score 400
Code Size 2455 Byte
Status AC
Exec Time 695 ms
Memory 75304 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 400 / 400
Status
AC × 3
AC × 76
Set Name Test Cases
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
Case Name Status Exec Time Memory
in01.txt AC 74 ms 39936 KiB
in02.txt AC 60 ms 39964 KiB
in03.txt AC 58 ms 39612 KiB
in04.txt AC 57 ms 39860 KiB
in05.txt AC 57 ms 39572 KiB
in06.txt AC 56 ms 39884 KiB
in07.txt AC 594 ms 73364 KiB
in08.txt AC 254 ms 65512 KiB
in09.txt AC 63 ms 39740 KiB
in10.txt AC 346 ms 66492 KiB
in11.txt AC 486 ms 72344 KiB
in12.txt AC 682 ms 74740 KiB
in13.txt AC 493 ms 69440 KiB
in14.txt AC 433 ms 69416 KiB
in15.txt AC 404 ms 69072 KiB
in16.txt AC 433 ms 70124 KiB
in17.txt AC 340 ms 70392 KiB
in18.txt AC 63 ms 39968 KiB
in19.txt AC 434 ms 70300 KiB
in20.txt AC 405 ms 70160 KiB
in21.txt AC 507 ms 73672 KiB
in22.txt AC 455 ms 70648 KiB
in23.txt AC 332 ms 69448 KiB
in24.txt AC 302 ms 69156 KiB
in25.txt AC 318 ms 69284 KiB
in26.txt AC 495 ms 70840 KiB
in27.txt AC 406 ms 69280 KiB
in28.txt AC 430 ms 70396 KiB
in29.txt AC 62 ms 39576 KiB
in30.txt AC 59 ms 39904 KiB
in31.txt AC 57 ms 39632 KiB
in32.txt AC 58 ms 39496 KiB
in33.txt AC 305 ms 66852 KiB
in34.txt AC 380 ms 65880 KiB
in35.txt AC 62 ms 39488 KiB
in36.txt AC 61 ms 39660 KiB
in37.txt AC 60 ms 39604 KiB
in38.txt AC 60 ms 39756 KiB
in39.txt AC 58 ms 39632 KiB
in40.txt AC 58 ms 39904 KiB
in41.txt AC 57 ms 39680 KiB
in42.txt AC 59 ms 39724 KiB
in43.txt AC 59 ms 39768 KiB
in44.txt AC 58 ms 39844 KiB
in45.txt AC 58 ms 39844 KiB
in46.txt AC 59 ms 39656 KiB
in47.txt AC 61 ms 39844 KiB
in48.txt AC 625 ms 75304 KiB
in49.txt AC 649 ms 74168 KiB
in50.txt AC 515 ms 71788 KiB
in51.txt AC 397 ms 68032 KiB
in52.txt AC 463 ms 68528 KiB
in53.txt AC 501 ms 72040 KiB
in54.txt AC 434 ms 68484 KiB
in55.txt AC 63 ms 39624 KiB
in56.txt AC 61 ms 39864 KiB
in57.txt AC 695 ms 74172 KiB
in58.txt AC 644 ms 72664 KiB
in59.txt AC 584 ms 70936 KiB
in60.txt AC 501 ms 73688 KiB
in61.txt AC 372 ms 67128 KiB
in62.txt AC 60 ms 39488 KiB
in63.txt AC 57 ms 39532 KiB
in64.txt AC 58 ms 39872 KiB
in65.txt AC 57 ms 39812 KiB
in66.txt AC 55 ms 39760 KiB
in67.txt AC 55 ms 39648 KiB
in68.txt AC 54 ms 39444 KiB
in69.txt AC 56 ms 39960 KiB
in70.txt AC 58 ms 39768 KiB
in71.txt AC 59 ms 39648 KiB
in72.txt AC 58 ms 39868 KiB
in73.txt AC 59 ms 40028 KiB
sample01.txt AC 59 ms 39792 KiB
sample02.txt AC 60 ms 39512 KiB
sample03.txt AC 57 ms 39668 KiB