Bỏ qua đến nội dung
Kho đề HSG Tin 9Đề thi cấp tỉnh/thành phố

Bài 3 · Lập trình

Dãy số bitonic

Điểm
5 điểm
Thời gian
1 giây
Bộ nhớ
1024 MB
Tên chương trình
bit.*
Vào / Ra
bit.inp → bit.out

Đề bài

Dãy số b1,b2,…,bkb_1, b_2, \ldots, b_k được gọi là dãy bitonic nếu b1<b2<⋯<bi>⋯>bkb_1 < b_2 < \cdots < b_i > \cdots > b_k với 1≤i≤k1 \le i \le k. Chú ý rằng nếu i=1i = 1 thì b1>b2>⋯>bkb_1 > b_2 > \cdots > b_k và dãy bb là dãy giảm, còn nếu i=ki = k thì b1<b2<⋯<bkb_1 < b_2 < \cdots < b_k và dãy bb là dãy tăng, còn nếu 1<i<k1 < i < k thì các phần từ từ b1b_1 đến bib_i tăng dần và các phần tử từ bib_i đến bkb_k giảm dần.

Ví dụ các dãy sau là dãy bitonic:

  • 1;
  • 1, 2, 3, 2;
  • 1, 4, 10;
  • 3, 2.

và các dãy sau không là dãy bitonic:

  • 1, 1;
  • 2, 1, 3.

Cho dãy số a1,a2,…,ana_1, a_2, \ldots, a_n. Hãy đếm số cặp (l,r)(l, r) sao cho 1≤l≤r≤n1 \le l \le r \le n và dãy al,al+1,…,ara_l, a_{l+1}, \ldots, a_r là dãy bitonic.

Dữ liệu vàobit.inp

Vào từ tệp bit.inp. Dòng đầu tiên chứa số nguyên nn (1≤n≤3×1051 \le n \le 3 \times 10^5). Dòng thứ hai chứa nn số nguyên a1,a2,…,ana_1, a_2, \ldots, a_n (1≤ai≤n1 \le a_i \le n).

Kết quả rabit.out

Ghi ra tệp bit.out một số nguyên là số cặp (l,r)(l, r) sao cho 1≤l≤r≤n1 \le l \le r \le n và dãy al,al+1,…,ara_l, a_{l+1}, \ldots, a_r là dãy bitonic.

Ràng buộc

  • Có 40% số test ứng với 40% số điểm thỏa mãn: n≤500n \le 500;
  • 30% số test khác ứng với 30% số điểm thỏa mãn: n≤5000n \le 5000;
  • 30% số test còn lại ứng với 30% số điểm: Không có thêm ràng buộc nào.

Ví dụ

Ví dụ 1

Dữ liệu vàobit.inp
5
1 1 2 3 1
Kết quả rabit.out
11

Giải thích

Trong ví dụ đầu tiên, các cặp sau là thỏa mãn:

  1. (1,1)(1, 1) ứng với dãy 1;
  2. (2,2)(2, 2) ứng với dãy 2;
  3. (2,3)(2, 3) ứng với dãy 1, 2;
  4. (2,4)(2, 4) ứng với dãy 1, 2, 3;
  5. (2,5)(2, 5) ứng với dãy 1, 2, 3, 1;
  6. (3,3)(3, 3) ứng với dãy 2;
  7. (3,4)(3, 4) ứng với dãy 2, 3;
  8. (4,4)(4, 4) ứng với dãy 3;
  9. (4,5)(4, 5) ứng với dãy 3, 1;
  10. (5,5)(5, 5) ứng với dãy 1.

Ví dụ 2

Dữ liệu vàobit.inp
3
1 1 1
Kết quả rabit.out
3

Thuộc đề thi

Kỳ thi chọn học sinh giỏi cấp tỉnh THCS năm 2025 — Môn thi: Tin học – Bảng A

Quảng Ninh · Cấp tỉnh · Năm học 2024-2025