Điều hướng chính

Ngôn ngữ

Phím tắt

/
Chuyển đến ô tìm bài
g p
Đi đến bài tập
g c
Đi đến kỳ thi
g u
Đi đến người dùng
?
Mở trợ giúp phím tắt

Bài tập

Bài được chọn theo nhịp luyện tập của bạn, cùng mọi bài mới vừa lên.

root

Bài 3 : Đào xuân (6.0 điểm)

100 điểm

Mùa xuân về trên rẻo cao, những gốc đào rừng bắt đầu trổ hoa rực rỡ. Trên một cành đào cổ thụ có \(n\) chùm hoa nằm dọc theo cành cây, các chùm hoa được đánh số thứ tự từ \(1\) đến \(n\). Chùm hoa thứ \(i\) có đúng \(a_i\) cánh hoa.

Lễ hội mùa xuân chỉ cho phép du khách chiêm ngưỡng những "đoạn hoa liên tiếp". Tuy nhiên, để bảo vệ vẻ đẹp tự nhiên, ban quản lý quy định: Một đoạn các chùm hoa liên tiếp từ vị trí \(i\) đến \(j\) \((1 \le i \le j \le n)\) chỉ được coi là "đoạn hoa hài hòa" nếu tổng số cánh hoa của tất cả các chùm trong đoạn đó không vượt quá số nguyên dương \(k\).

Yêu cầu: Em hãy giúp các bạn nhỏ vùng cao tính tổng số cánh hoa của tất cả các "đoạn hoa hài hòa" hiện có trên cành đào. Vì kết quả có thể rất lớn, hãy in ra kết quả theo modulo \(10^9 + 7\).

Input

Vào từ tệp văn bản SUMSUB.INP theo cấu trúc:

  • Dòng đầu tiên ghi hai số nguyên dương \(n\) và \(k\) \((1 \le n \le 10^6; 1 \le k \le 10^9)\)
  • Dòng thứ hai chứa \(n\) số nguyên dương \(a_1, a_2, \dots, a_n\) đại diện cho số cánh hoa của mỗi chùm hoa \((1 \le a_i \le 10^9)\)

Output

Ghi ra tệp văn bản SUMSUB.OUT một số nguyên duy nhất là tổng số cánh hoa tìm được theo modulo \(10^9 + 7\).

Example

Test 1

Input
3 5
2 3 4
Output
14
Note

Giải thích: Các "đoạn hoa hài hòa" là:

  • Chùm \([2]\) (tổng \(2 \le 5\))
  • Chùm \([3]\) (tổng \(3 \le 5\))
  • Chùm \([4]\) (tổng \(4 \le 5\))
  • Đoạn chùm \([2, 3]\) (tổng \(5 \le 5\))

Tổng tất cả các cánh hoa là: \(2 + 3 + 4 + (2 + 3) = 14\).

Scoring

  • Có \(20\%\) số test ứng với \(20\%\) số điểm của bài với \(n \le 300\);
  • Có \(20\%\) số test ứng với \(20\%\) số điểm của bài với \(n \le 2 \times 10^3\);
  • Có \(15\%\) số test ứng với \(15\%\) số điểm của bài với tất cả các chùm hoa đều có đúng 1 cánh \((a_i = 1)\);
  • Có \(15\%\) số test ứng với \(15\%\) số điểm của bài với tổng toàn bộ cánh hoa trên cành không vượt quá \(k\);
  • Có \(30\%\) số test ứng với \(30\%\) số điểm của bài không có ràng buộc gì thêm.

root

Đếm dãy con

100 điểm

Cho mảng \(A\) gồm \(n\) phần tử. Một dãy con của \(A\) là một dãy thu được bằng cách chọn một số phần tử theo thứ tự tăng dần chỉ số (không nhất thiết liên tiếp).
Yêu cầu: đếm số dãy con khác nhau và khác rỗng của \(A\).

\InputFile

  • Dòng đầu gồm số nguyên \(n\) (\(1 \le n \le 10^6\)).
  • Dòng thứ hai gồm \(n\) số nguyên \(A_i\) (\(1 \le A_i \le 10^6\)).

\OutputFile
In ra số lượng dãy con khác nhau, modulo \(123456789\).

Example

Test 1

Input
3
1 2 1
Output
6

root

Thám hiểm

100 điểm

Nhà khoa học Alex đang thực hiện một cuộc thám hiểm để nghiên cứu các mẫu vật tại \(n\) địa điểm khác nhau. Anh ấy bắt đầu chuyến đi từ địa điểm \(1\). Giữa một số địa điểm có các con đường bộ hai chiều, và Alex biết thời gian cần thiết để đi qua mỗi con đường.

Ngoài ra, giữa mỗi cặp địa điểm còn có một tuyến đường hàng không, nhưng do một sự cố kỹ thuật gần đây, thời gian di chuyển giữa hai địa điểm \(u\) và \(v\) bằng đường hàng không được tính bằng \((u - v)^2\).

Vì Alex không thích bay cho lắm, anh ta chỉ có thể sử dụng tối đa \(k\) chuyến bay trong suốt hành trình của mình. Mục tiêu của Alex là tìm thời gian di chuyển tối thiểu từ địa điểm \(1\) đến mỗi địa điểm khác.

Yêu cầu: Hãy giúp Alex tính toán thời gian di chuyển tối thiểu từ địa điểm \(1\) đến mỗi địa điểm trong số \(n\) địa điểm.

Input

  • Dòng đầu tiên của input chứa ba số nguyên \(n, m, k\) (\(2 \le n \le 10^5, 1 \le m \le 10^5, 0 \le k \le 20\)) lần lượt là số địa điểm, số con đường bộ và số chuyến bay tối đa mà Alex có thể sử dụng.
  • \(m\) dòng tiếp theo mô tả các con đường bộ. Mỗi dòng chứa ba số nguyên \(u, v, w\) (\(1 \le u, v \le n, u \ne v, 1 \le w \le 10^9\)) --- hai địa điểm được kết nối và thời gian di chuyển qua con đường đó. Lưu ý rằng một số cặp địa điểm có thể được kết nối bởi nhiều hơn một con đường.

Output

  • In ra \(n\) số nguyên, số thứ \(i\) là thời gian di chuyển tối thiểu đến địa điểm \(i\).

Example

Test 1

Input
3 1 2
1 3 1
Output
0 1 1 

Test 2

Input
4 3 1
1 2 3
2 4 5
3 4 7
Output
0 1 4 6 

Scoring

  • Subtask \(1\) (25% số điểm) : \(k = 0\).
  • Subtask \(2\) (25% số điểm) : \(n, m \leq 50\).
  • Subtask \(3\) (25% số điểm) : Đồ thị có dạng đường thẳng.
  • Subtask \(4\) (25% số điểm) : Không có ràng buộc gì thêm.

root

Nhớ em

100 điểm

Trong giờ học Vật lý, một thành viên của CLB CHTCoder đang lơ đãng nhớ về crush thì bị thầy phát hiện.

Để không bị trừ điểm hoặc ghi vào sổ đầu bài, thầy đã giao cho hai bạn một thử thách:
Cho một bảng kích thước \(n \times n\), trong đó các số được điền theo thứ tự tăng dần từ trái sang phải và từ trên xuống dưới, bắt đầu từ \(1\) cho tới \(n \times n\).

Yêu cầu của thầy rất đơn giản: Tính tổng các phần tử nằm trên đường chéo chính của bảng.

Input

Đọc từ file NHOEM.INP:

  • Số nguyên dương \(t\) (\(1 \le t \le 10^{6}\)) --- số câu hỏi.
  • Mỗi dòng tiếp theo chứa một số nguyên dương \(n\) (\(1 \le n \le 10^{6}\)).

Output

Ghi ra file NHOEM.OUT:

  • Gồm \(t\) dòng, mỗi dòng là tổng đường chéo chính tương ứng.

Example

Test 1

Input
2
3
6
Output
15
111

Scoring

  • Subtask 1 (70%): \(1 \le t, n \le 10^{3}\).
  • Subtask 2 (30%): Không có ràng buộc thêm.
Xem thêm