Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

MIMALESU - Min-Max-Length-Sum

Ta có dãy thứ tự trong đó mỗi ngày số nhà sau:

Trọng số lẻi 1 = Min × Max × Length

Trọng số lẻi 2 = Min × Max × Sum

Trọng độ, Min là số cỏ gái trị nhỏ nhất, Max là số cỏ gái trị lớn nhất, Sum là tổng giá trị số cưa dãy, Length là số phấn tử trong dãy số đó.

Cho dãy n số nguyên dương a₁, a₂, ..., aₙ và môt giá trị S, ta có:

  • P₁ là tổng trọng số lẻi 1 cưa những dồn cỏn aᵢ, aᵢ₊₁, ..., aⱼ (1 ≤ i ≤ j ≤ n) có Sum > S.
  • P₂ là tổng trọng số lẻi 2 cưa những dồn cỏn aᵢ, aᵢ₊₁, ..., aⱼ (1 ≤ i ≤ j ≤ n) có Sum ≤ S.

Yêu cầu: Tính giá trị P₁ + P₂ theo modulo 10⁹ + 7.

Input:

  • Dòng đầu tiên chứa hai số nguyên n, S (1 ≤ n ≤ 5.10⁴, 0 ≤ S ≤ 10¹⁸);
  • Dòng thứ hai chứa n số nguyên dương aᵢ (1 ≤ aᵢ ≤ 10⁹).

Các số trên mỗi dòng được cách nhau bởi dấu cách.

Output: Ghi ra môt số nguyên duy nhất là kết quả cưa bài toán theo modulo 10⁹ + 7.

Chú ý:

  • Subtask 1 (1 điểm): n ≤ 5.10³;
  • Subtask 2 (3 điểm): n ≤ 5.10⁴, S = 0;
  • Subtask 3 (3 điểm): n ≤ 5.10⁴.

Example

Input:
4 3
1 2 3 4 Output: 143

Được gửi lên bởi:noname00.pas
Ngày:2017-12-21
Thời gian chạy:0.100s
Giới hạn mã nguồn:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Ngôn ngữ cho phép:C-CLANG C CSHARP C++ 4.3.2 CPP CPP14 CPP14-CLANG C99 JAVA PAS-FPC PYTHON PYTHON3
Nguồn bài:Contest Lào Cai - Vinh (18/12/2017)

© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.