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

Mảng con tuần hoàn vượt trội

Đề bài

Mô tả

Cho một mảng tuần hoàn vô hạn a0,a1,a2, với chu kỳ độ dài n. Cụ thể, ai=aimodn với mọi i0.

Một mảng con tuần hoàn (l,s) với 0l<n1s<n là một mảng tuần hoàn vô hạn có chu kỳ độ dài s, được hình thành bằng cách ghép vô hạn lần đoạn al,al+1,,al+s1 (chỉ số lấy theo modn). Khi đặt mảng con này chồng lên a bắt đầu từ vị trí l, phần tử thứ k (k0) của nó tương ứng với a(l+k)modn của mảng a, còn chính nó nhận giá trị a(l+(kmods))modn.

Mảng con (l,s) được gọi là vượt trội (superior) nếu mọi phần tử của nó đều lớn hơn hoặc bằng phần tử tương ứng của mảng a, tức là với mọi k0 ta có

a(l+(kmods))modna(l+k)modn.

Hãy đếm số cặp (l,s) ứng với các mảng con tuần hoàn vượt trội.

Dữ liệu vào

  • Dòng đầu chứa số nguyên n.
  • Dòng thứ hai chứa n số nguyên a0,a1,,an1 cách nhau bởi dấu cách.

Dữ liệu ra

  • Một số nguyên duy nhất — số cặp (l,s) ứng với mảng con tuần hoàn vượt trội.

Ràng buộc

  • 1n2·105
  • 1ai106

Ví dụ

Input Output Giải thích
4
7 1 2 3
2 Hai cặp vượt trội là (0,1)(3,2). Với (0,1): mảng con là 7,7,7,7, và mọi giá trị đều giá trị tương ứng của a. Với (3,2): mảng con là 3,7,3,7, phủ lên a3,a0,a1,a2,=3,7,1,2, thoả 33, 77, 31, 72, …
2
2 1
1 Chỉ có (0,1) thoả mãn: mảng con 2,2,2, phủ lên 2,1,2,1,.
3
1 1 1
6 Mọi cặp (l,s) với 0l<31s<3 đều thoả mãn vì tất cả phần tử của a đều bằng nhau.

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