Mảng và mex

Đề bài

Mô tả

Cho hai số nguyên dương n và m. Bạn cần xây dựng một mảng a gồm n số nguyên không âm sao cho giá trị nhỏ nhất trong số m giá trị mex của các đoạn con cho trước là lớn nhất có thể.

Mỗi đoạn con được mô tả bởi hai chỉ số li và ri và bao gồm các phần tử ali,ali+1,…,ari.

Hàm mex của một tập S là số nguyên không âm nhỏ nhất không xuất hiện trong S.

Hãy in ra giá trị tối đa của giá trị mex nhỏ nhất và mảng a đạt được giá trị đó.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên n và m.
  • m dòng tiếp theo, dòng thứ i chứa hai số nguyên li và ri mô tả đoạn con thứ i.

Dữ liệu ra

  • Dòng đầu in ra giá trị tối đa của giá trị mex nhỏ nhất trong m đoạn con.
  • Dòng thứ hai in ra n số nguyên là các phần tử của mảng a. Các phần tử phải nằm trong đoạn [0,109].

Nếu có nhiều mảng thoả mãn, in ra bất kỳ mảng nào.

Ràng buộc

  • 1≤n,m≤105
  • 1≤li≤ri≤n

Ví dụ

Input Output Giải thích
5 3
1 3
2 5
4 5
2
0 1 0 1 0
mex của đoạn [1,3] là 2, mex của đoạn [2,5] là 2, mex của đoạn [4,5] là 2. Giá trị nhỏ nhất là 2 — không thể đạt lớn hơn vì đoạn [4,5] chỉ có 2 phần tử.
4 2
1 4
2 4
3
0 1 2 0
mex của đoạn [1,4] bằng 3, mex của đoạn [2,4] bằng 3. Đoạn ngắn nhất có độ dài 3 nên đáp án không thể vượt quá 3.

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