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

Berstagram

Đề bài

Mô tả

Trên một mạng xã hội, một người dùng đăng tải n bài viết được đánh số từ 1 đến n. Ngay sau khi đăng, bảng tin có thứ tự từ trên xuống dưới là 1,2,,n — bài có vị trí cao nhất là bài 1, thấp nhất là bài n.

Sau đó, lần lượt có m lượt thích đến. Lượt thích thứ j được dành cho bài aj. Quy tắc cập nhật bảng tin như sau: nếu bài aj không phải bài đang ở vị trí cao nhất, nó đổi chỗ với bài ngay phía trên. Nếu aj đã ở vị trí cao nhất thì không có gì thay đổi.

Với mỗi bài i, hãy tìm vị trí cao nhất (số nhỏ nhất) và vị trí thấp nhất (số lớn nhất) mà nó từng đạt được. Phải xét tất cả các thời điểm: trước khi có lượt thích nào, sau mỗi lượt thích, và sau lượt thích cuối cùng. Vị trí được đánh số từ 1 (cao nhất) đến n (thấp nhất).

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên nm.
  • Dòng thứ hai chứa m số nguyên a1,a2,,am.

Dữ liệu ra

In ra n dòng. Dòng thứ i chứa hai số nguyên: vị trí cao nhất và vị trí thấp nhất mà bài i từng đạt được.

Ràng buộc

  • 1n105
  • 1m4·105
  • 1ajn

Ví dụ

Input Output Giải thích
3 5
3 2 1 3 3
1 2
2 3
1 3
Các trạng thái bảng tin lần lượt: [1,2,3][1,3,2][1,2,3][1,2,3][1,3,2][3,1,2]. Bài 1 đạt vị trí cao nhất 1, thấp nhất 2; bài 2 đạt từ 2 đến 3; bài 3 đạt từ 1 đến 3.
10 6
7 3 5 7 3 6
1 2
2 3
1 3
4 7
4 5
6 7
5 7
8 8
9 9
10 10
Các bài 8,9,10 không bao giờ nhận lượt thích và cũng không bị đẩy xuống, nên vị trí của chúng không đổi.

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