Lịch sử cực đại
Đề bài
Mô tả
Cho một mảng gồm phần tử. Với một cách sắp xếp (hoán vị) cụ thể của mảng, ta định nghĩa giá trị như sau:
- Ban đầu và .
- Với mỗi từ đến : nếu thì gán , sau đó gán .
Nói cách khác, ta duyệt mảng từ trái sang phải và giữ vị trí của phần tử lớn nhất gặp được cho tới hiện tại. Mỗi khi gặp một phần tử lớn hơn hẳn phần tử đang giữ, ta cộng giá trị phần tử đang giữ vào rồi chuyển sang giữ phần tử mới.
Hãy tính tổng của trên tất cả hoán vị của mảng, lấy phần dư khi chia cho .
Hai phần tử được coi là khác nhau nếu chỉ số của chúng khác nhau, nên với mỗi mảng luôn có đúng hoán vị (kể cả khi có các phần tử bằng nhau về giá trị).
Dữ liệu vào
- Dòng đầu chứa số nguyên — số phần tử của mảng.
- Dòng thứ hai chứa số nguyên .
Dữ liệu ra
- In ra một số nguyên duy nhất: tổng trên tất cả hoán vị, lấy dư cho .
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 2 1 3 |
1 | Hai hoán vị: cho ; cho . Tổng bằng . |
| 3 1 1 2 |
4 | Gọi là mảng chỉ số. Sáu hoán vị đều cho , còn cho . Tổng bằng . |
Bình luận