BALL - BALL
Dữ liệu vào: standard input
Dữ liệu ra: standard output
Giới hạn thời gian: 1.0 giây
Giới hạn bộ nhớ: 512 megabyte
Đăng bởi: admin

An có một hộp gồm N quả bóng, trên mỗi quả bóng được viết một số nguyên dương (các số này không nhất thiết phải khác nhau). An chọn 1 tập hợp K quả bóng, đánh dấu tập hợp này, đặt chúng lại vào hộp và tiếp tục quá trình này cho đến khi tất cả các tập hợp như trên được đánh dấu. Với mỗi tập hợp như vậy, An ghi lại hiệu giữa số lớn nhất và số bé nhất trong nó.

Lưu ý: 2 tập khác nhau nếu có ít nhất 1 quả bóng thuộc tập này và không thuộc tập kia.

Yêu cầu: Bạn hãy tính tổng tất cả các số được An ghi lại. In ra số dư của kết quả khi chia cho 109+7.

Dữ liệu vào:

Dòng đầu chứa 2 số nguyên dương NK.
Dòng tiếp theo chứa N số được ghi trên bóng.
Trong đó 1 <= K <= N, các số trên bóng  <= 109

Dữ liệu ra:

Ghi một số nguyên duy nhất là kết quả bài toán.

Ví dụ

Input

4 2

10 20 30 40

Output

100

Giải thích : Có tổng cộng 6 cách chọn:

1. 10 20
2. 20 30
3. 30 40
4. 10 30
5. 20 40
6. 10 40

Tổng của chúng : 10+10+10+20+20+30=100.

 

Giới hạn:

+ 20% số test có N <= 20.
+ 30% số test có N <= 5000.
+ 50% số test có N <= 105.


Nguồn: https://www.hackerrank.com/challenges/choose-and-calculate/problem

Back to Top