trang chủ / đề bài / ascentseq

Dãy có bước tăng

Đề bài

Mô tả

Một dãy a=[a1,a2,…,al] độ dài l được gọi là có bước tăng nếu tồn tại cặp chỉ số (i,j) với 1≤i<j≤l và ai<aj.

Ví dụ, dãy [0,2,0,2,0] có bước tăng nhờ cặp (1,4), còn dãy [4,3,3,3,1] thì không có bước tăng.

Phép nối hai dãy p và q, ký hiệu p+q, là dãy thu được bằng cách viết p rồi viết tiếp q ngay sau đó mà không đổi thứ tự. Chẳng hạn [0,2,0,2,0]+[4,3,3,3,1]=[0,2,0,2,0,4,3,3,3,1].

Cho n dãy s1,s2,…,sn (độ dài có thể khác nhau). Hãy đếm số cặp chỉ số (x,y) với 1≤x,y≤n sao cho dãy nối sx+sy có bước tăng.

Lưu ý: x và y có thể trùng nhau, và thứ tự chọn là quan trọng, nên có tất cả n2 cặp cần xét.

Dữ liệu vào

  • Dòng đầu chứa số nguyên n là số lượng dãy.
  • n dòng tiếp theo, dòng thứ i chứa số nguyên li là độ dài của dãy si, theo sau là li số nguyên si,1,si,2,…,si,li.

Dữ liệu ra

Một số nguyên duy nhất là số cặp (x,y) mà sx+sy có bước tăng.

Ràng buộc

  • 1≤n≤100000
  • 1≤li và tổng tất cả li không vượt quá 100000
  • 0≤si,j≤106

Ví dụ

Input Output Giải thích
5
1 1
1 1
1 2
1 4
1 3
9 Chín dãy nối có bước tăng là: [1,2], [1,2], [1,3], [1,3], [1,4], [1,4], [2,3], [2,4], [3,4]. Các dãy giống nhau về nội dung vẫn được đếm theo số lần xuất hiện.
3
4 2 0 2 0
6 9 9 8 8 7 7
1 6
7 Dãy s1=[2,0,2,0] tự nó đã có bước tăng nên mọi cặp chứa s1 (ở vị trí nào cũng vậy) đều được tính, cho 5 cặp. Thêm vào đó s2+s3 và s3+s2 đều có bước tăng, tổng cộng 7.
1
3 1 1 1
0 Dãy nối duy nhất là [1,1,1,1,1,1], không có cặp nào tăng thực sự.

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.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0