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

Cặp vé trúng thưởng

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

Đề bài

Công ty xổ số BlueCode phát hành nn vé số đặc biệt để chào mừng ngày thành lập. Các vé được đánh số thứ tự từ 1 đến nn. Hệ thống quay thưởng sẽ tạo ra ngẫu nhiêu một dãy gồm nn số nguyên dương c1,c2,…,cnc_1, c_2, \dots, c_n là mã của nn vé. Vé thứ ii (i=1,2,…,n)(i = 1, 2, \dots, n) có mã là cic_i. Cặp vé (i,j)(i, j) với 1≤i<j≤n1 \le i < j \le n, sẽ trúng thưởng nếu trong hai mã của hai vé đó là cic_i và cjc_j sẽ có một số bằng số lớn nhất, số còn lại bằng số nhỏ nhất trong các số ci,ci+1,…,cjc_i, c_{i+1}, \dots, c_j. Tức là khi đặt x=min(ci,ci+1,…,cj)x = min(c_i, c_{i+1}, \dots, c_j); y=max(ci,ci+1,…,cj)y = max(c_i, c_{i+1}, \dots, c_j) thì trong hai số cic_i và cjc_j sẽ có một số bằng xx, số còn lại bằng yy. Công ty muốn biết có bao nhiêu cặp vé sẽ trúng thưởng nên đã nhờ bạn An lập trình để tính số cặp vé trúng thưởng.

Yêu cầu: Cho biết dãy gồm nn số nguyên dương c1,c2,…,cnc_1, c_2, \dots, c_n, hãy đưa ra số cặp vé trúng thưởng.

Dữ liệu vàoTrungThuong.Inp

Dữ liệu cho trong tệp văn bản TrungThuong.Inp gồm:

  • Dòng 1 ghi số nguyên dương nn (2≤n≤2×105)(2 \le n \le 2 \times 10^5).
  • Dòng 2 ghi nn số nguyên dương c1,c2,…,cnc_1, c_2, \dots, c_n (1≤ci≤108,i=1,2,…,n)(1 \le c_i \le 10^8, i = 1, 2, \dots, n).

Các số ghi trên một dòng được phân cách nhau bởi dấu cách trống.

Kết quả raTrungThuong.Out

Kết quả ghi ra tệp văn bản TrungThuong.Out một số nguyên duy nhất là số cặp vé trúng thưởng.

Ràng buộc

  • 40% số test ứng với 40% số điểm thỏa mãn 2≤n≤2002 \le n \le 200;
  • 40% số test ứng với 40% số điểm thỏa mãn 200<n≤2000200 < n \le 2000;
  • 20% số test ứng với 20% số điểm thỏa mãn 2000<n≤2×1052000 < n \le 2 \times 10^5; 1≤ci≤31 \le c_i \le 3; i=1,2,…,ni = 1, 2, \dots, n.

Ví dụ

Dữ liệu vàoTrungThuong.Inp
5
3 3 1 6 5
Kết quả raTrungThuong.Out
5

Giải thích

Ta có 5 cặp vé trúng thưởng

Cặp vé (i,j)(i, j) cic_i cjc_j x=min(ci,…,cj)x = min(c_i, \dots, c_j) y=max(ci,…,cj)y = max(c_i, \dots, c_j) ci=xc_i = x và cj=yc_j = y; hoặc ci=yc_i = y và cj=xc_j = x;
i=1;j=2i = 1; j = 2 3 3 3 3 ci=x;cj=yc_i = x; c_j = y
i=2;j=3i = 2; j = 3 3 1 1 3 ci=y;cj=xc_i = y; c_j = x
i=3;j=4i = 3; j = 4 1 6 1 6 ci=x;cj=yc_i = x; c_j = y
i=4;j=5i = 4; j = 5 6 5 5 6 ci=y;cj=xc_i = y; c_j = x
i=1;j=3i = 1; j = 3 3 1 1 3 ci=y;cj=xc_i = y; c_j = x

Thuộc đề thi

Kỳ thi chọn học sinh giỏi tỉnh lớp 9 năm học 2021 – 2022 — Môn thi: Tin học — Bảng A

Nghệ An · Cấp tỉnh · Năm học 2021-2022