trang chủ / đề bài / rangedel

Xóa theo đoạn giá trị

Đề bài

Mô tả

Cho một dãy gồm n số nguyên a1,a2,…,an và một số nguyên x. Đảm bảo rằng 1≤ai≤x với mọi i.

Với mỗi cặp (l,r), định nghĩa phép biến đổi f(l,r) là: xóa khỏi dãy a tất cả các phần tử có giá trị nằm trong đoạn [l,r] (tức mọi ai thỏa l≤ai≤r), rồi trả về dãy còn lại (giữ nguyên thứ tự các phần tử không bị xóa).

Ví dụ, nếu a=[4,1,1,4,5,2,4,3] thì f(2,4)=[1,1,5].

Hãy đếm số cặp (l,r) thỏa 1≤l≤r≤x sao cho dãy f(l,r) được sắp xếp không giảm. Lưu ý dãy rỗng cũng được coi là đã sắp xếp.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên n và x.
  • Dòng thứ hai chứa n số nguyên a1,a2,…,an.

Dữ liệu ra

  • In ra một số nguyên duy nhất: số cặp (l,r) thỏa mãn.

Ràng buộc

  • 1≤n,x≤106
  • 1≤ai≤x

Ví dụ

Input Output Giải thích
3 3
2 3 1
4 Các cặp hợp lệ là (1,1), (1,2), (1,3) và (2,3). Chẳng hạn (1,3) xóa hết dãy còn lại rỗng (đã sắp xếp).
7 4
1 3 1 2 2 4 3
6 Các cặp hợp lệ là (1,3), (1,4), (2,3), (2,4), (3,3) và (3,4).

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