trang chủ / bài tập / robopair

Sonya và Robot

Đề bài

Mô tả

Cho một dãy n số nguyên a1,a2,,an. Đặt hai con robot: một ở đầu trái (trước a1) và một ở đầu phải (sau an). Ta gán cho robot trái một số p và robot phải một số q (pq có thể bằng nhau).

Khi khởi động:

  • Robot trái di chuyển sang phải, đọc lần lượt a1,a2, và dừng ở vị trí đầu tiên có giá trị bằng p.
  • Robot phải di chuyển sang trái, đọc lần lượt an,an1, và dừng ở vị trí đầu tiên (tính từ phải) có giá trị bằng q.

Ta chỉ chọn các giá trị p, q có xuất hiện trong dãy (nếu không robot sẽ đi tới đầu kia và va nhau). Cặp (p,q) được gọi là hợp lệ nếu vị trí dừng của robot trái nằm thực sự bên trái vị trí dừng của robot phải (hai robot không gặp nhau).

Hai cặp (p1,q1)(p2,q2) được coi là khác nhau nếu p1p2 hoặc q1q2.

Yêu cầu: đếm số cặp (p,q) hợp lệ.

Dữ liệu vào

  • Dòng đầu chứa số nguyên n — độ dài dãy.
  • Dòng thứ hai chứa n số nguyên a1,a2,,an.

Dữ liệu ra

  • Một số nguyên duy nhất — số cặp (p,q) hợp lệ.

Ràng buộc

  • 1n105
  • 1ai105

Ví dụ

Input Output Giải thích
5
1 5 4 1 3
9 Với dãy [1,5,4,1,3], chín cặp hợp lệ là (1,1),(1,3),(1,4),(1,5),(4,1),(4,3),(5,1),(5,3),(5,4). Ví dụ với (p,q)=(1,4), robot trái dừng ở vị trí 1 (giá trị 1), robot phải dừng ở vị trí 3 (giá trị 4) — trái ở bên trái phải.
7
1 2 1 1 1 3 2
7 Bảy cặp hợp lệ: (1,1),(1,2),(1,3),(2,1),(2,2),(2,3),(3,2).
1
1
0 Chỉ có một vị trí duy nhất; hai robot buộc phải dừng ở cùng vị trí nên không có cặp hợp lệ.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 GO groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0