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

Triển lãm sách

Đề bài

Mô tả

Thư viện có n cuốn sách được xếp theo thứ tự thời gian xuất bản. Cuốn thứ i có chiều cao hi milimét.

Ban tổ chức muốn chọn ra một đoạn liên tiếp các cuốn sách (theo thứ tự đã cho) để trưng bày, sao cho hiệu giữa cuốn cao nhất và cuốn thấp nhất trong đoạn không vượt quá k milimét.

Hãy tìm số lượng sách lớn nhất có thể trưng bày, và liệt kê tất cả các đoạn đạt được số lượng lớn nhất đó.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên nk.
  • Dòng thứ hai chứa n số nguyên h1,h2,,hn.

Dữ liệu ra

  • Dòng đầu in ra hai số ab: a là số sách nhiều nhất có thể trưng bày, b là số đoạn liên tiếp gồm đúng a cuốn thoả mãn điều kiện.
  • b dòng tiếp theo, mỗi dòng in ra hai số nguyên là chỉ số cuốn đầu tiên và cuốn cuối cùng của một đoạn. Các đoạn phải được in theo thứ tự tăng dần của chỉ số đầu đoạn.

Ràng buộc

  • 1n105
  • 0k106
  • 1hi106

Ví dụ

Input Output Giải thích
3 3
14 12 10
2 2
1 2
2 3
Không thể lấy cả ba cuốn vì 1410=4>3. Có hai đoạn dài 2 thoả mãn: [1,2] với hiệu 2[2,3] với hiệu 2.
4 5
8 19 10 13
2 1
3 4
Đoạn dài nhất là [3,4] với hiệu 1310=35. Đoạn [1,2] có hiệu 11, đoạn [2,3] có hiệu 9, đều vượt quá 5.
2 0
10 10
2 1
1 2
Hai cuốn cùng chiều cao nên hiệu bằng 0, lấy được cả hai.

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 csc 6.12.0.200 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.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 kotlinc 2.4.10 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0