CTDL - set7 - Tổng trên set
Point: 100.0
Time limit: 1.0s
Memory limit: 977 M
Input:
stdin
Output:
stdout
Author:
Problem type
C - Cấu trúc dữ liệu nâng cao: 05 - Set
Ngôn ngữ cho phép
C#, C++, Java, Python
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.