Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi
    solution
    Đăng nhập
    Đăng nhập

    Đề bài: [Java] Max song song qua invokeAll

    📖Cần ôn lý thuyết? Đọc bài giảng Buổi 9: Lập trình đa luồng — khóa Lập trình Java

    Chia mảng N số nguyên thành K block bằng nhau (block cuối có thể nhỏ hơn). Tạo K Callable<Integer> cho mỗi block trả về MAX của block. Dùng ExecutorService.invokeAll() để chạy tất cả, sau đó gom kết quả theo thứ tự Future (đã deterministic vì invokeAll bảo toàn thứ tự) và in MAX toàn cục.

    • Định dạng đầu vào:

      Dòng 1: N K (1 ≤ K ≤ N ≤ 10^4). Dòng 2: N số nguyên, |a_i| ≤ 10^6.

    • Ràng buộc đầu vào:

      1 ≤ K ≤ N ≤ 10^4

    • Định dạng đầu ra:

      Một số nguyên — max toàn mảng.

    Ví dụ:

    Đầu vào:

    6 3
    3 1 4 1 5 9
    

    Đầu ra:

    9

    Giải thích:

    Block size = 2. Max block: [3,1]=3, [4,1]=4, [5,9]=9 → max toàn cục = 9.

    Chủ đề

    ☕ JavaJavaJava: Callable/FutureThreadTất cả môn học

    Đang tải editor...