Cho dãy gồm n số nguyên a1, a2,…, an (1 ≤ ai ≤ 3, I = 1 g n). Có bao nhiêu cách để xóa đi một số phần tử của dãy (không xóa phần tử nào cũng được cọi là một cách) mà vẫn giữ nguyên thứ tự ban đầu để được một dãy mới thỏa mãn hai yêu cầu sau:
VD: các dãy {1, 2, 2, 3} và dãy {1, 2, 3} thỏa mãn yêu cầu; các dãy {1, 2, 3, 3} và dãy {1, 1, 2, 3} không thỏa mãn yêu cầu.
Dữ lIệu:
+ Dòng 1: số nguyên dương n (n ≤ 106) là số lượng phần tử của dãy.
+ Dòng 2: ghi n số nguyên a1, a2,…, an là giá trị của các phần tử của dãy ban đầu
Kết quả: Gồm một dòng duy nhất là số cách xóa để được dãy mới thỏa mãn yêu cầu của đề bài. Do số lượng cách xóa phần tử có thể rất lớn nên bạn chỉ cần ghi ra số lượng cách xóa sau khi chia lấy dư cho (109 + 7)
Ví dụ:
INP
8
1 2 1 2 3 1 2 3
OUT
15
Bằng cách nhấp vào Đăng nhập, bạn đồng ý Chính sách bảo mật và Điều khoản sử dụng của chúng tôi. Nếu đây không phải máy tính của bạn, để đảm bảo an toàn, hãy sử dụng Cửa sổ riêng tư (Tab ẩn danh) để đăng nhập (New Private Window / New Incognito Window).
Hôm nay bạn thế nào? Hãy nhấp vào một lựa chọn, nếu may mắn bạn sẽ được tặng 50.000 xu từ Lazi
Vui | Buồn | Bình thường |