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

Thống kê tàu điện

Đề bài

Mô tả

Trong thành phố có n ga tàu đánh số từ 1 đến n. Tại ga thứ i (với 1i<n) người ta chỉ bán vé đi tới các ga từ i+1 đến ai (bao gồm cả hai đầu mút). Ga cuối cùng không bán vé nào.

Với hai ga i<j, gọi ρi,j là số vé tối thiểu cần mua để đi từ ga i tới ga j. Do luật bán vé, từ mỗi ga luôn có thể đi tới mọi ga có chỉ số lớn hơn (có thể phải đổi tàu nhiều lần), nên ρi,j luôn xác định.

Hãy tính tổng của tất cả các giá trị ρi,j trên mọi cặp 1i<jn.

Dữ liệu vào

  • Dòng đầu chứa số nguyên n: số lượng ga.
  • Dòng thứ hai chứa n1 số nguyên a1,a2,,an1, trong đó ai là ga xa nhất mà từ ga i có thể mua vé đi tới trực tiếp.

Dữ liệu ra

  • In ra một số nguyên: tổng ρi,j trên mọi cặp 1i<jn.

Ràng buộc

  • 2n100000
  • i+1ain với mọi 1i<n
  • Kết quả có thể rất lớn, cần dùng kiểu số nguyên 64-bit.

Ví dụ

Input Output Giải thích
4
4 4 4
6 Từ ga bất kỳ đều tới được mọi ga phía sau bằng đúng 1 vé. Có 6 cặp nên tổng bằng 6.
5
2 3 5 5
17 ρ1,2=1, ρ1,3=2, ρ1,4=3, ρ1,5=3, ρ2,3=1, ρ2,4=2, ρ2,5=2, ρ3,4=1, ρ3,5=1, ρ4,5=1. Tổng bằng 17.

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 1.26.3 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