Trạng thái

Cho 1 dãy \(N\) số nguyên \(a_1, a_2, ... , a_N\) đôi một khác nhau, và một số nguyên dương \(K\).

Yêu cầu

Với mỗi giá trị \(i\) \((K ≤ i ≤ N)\), hãy in ra tổng của \(K\) phần tử lớn nhất trong đoạn từ \(1 → i.\)

Input

  • Dòng đầu tiên chứa 2 số nguyên dương \(N,K\) \((1 ≤ K ≤ N ≤ 10^5)\).
  • Dòng tiếp theo chứa \(N\) số nguyên \(a_1, a_2, ... , a_N\) \((|a_i| ≤ 10^9)\).

Output

In ra trên \(N − K + 1\) dòng, dòng thứ \(i\) \((K ≤ i ≤ N)\) là tổng của \(K\) phần tử lớn nhất trong đoạn \(1 → i.\)

Example

INPUT OUTPUT
6 2
-3 5 4 6 -2 8
2
9
11
11
14
1 1
1
1

Gợi ý: Dùng một Set, luôn duy trì các phần tử của Set là K phần tử có tổng lớn nhất.

Thông tin
Thông tin bài tập
Gửi bài giải
Điểm
100
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
977 M
I/O
stdin -> stdout
Tác giả
Loại đề bài
C - Cấu trúc dữ liệu nâng cao: 05 - Set
Ngôn ngữ cho phép
C#, C++, Java, Python