Cuộc họp trực tuyến

Đề bài

Mô tả

Một cuộc họp trực tuyến có n thành viên được đánh số từ 1 đến n. Bạn được cho lại nhật ký của một đoạn liên tục trong cuộc họp (có thể không phải toàn bộ cuộc họp), gồm m sự kiện đăng nhập / đăng xuất theo đúng thứ tự thời gian:

  • + id: người có số id đăng nhập vào cuộc họp.
  •  id: người có số id đăng xuất khỏi cuộc họp.

Vì đây chỉ là một đoạn giữa cuộc họp, một số người có thể đã trực tuyến từ trước khi đoạn nhật ký bắt đầu (sự kiện đầu tiên của họ trong nhật ký là một lần đăng xuất), và một số người có thể vẫn còn trực tuyến sau khi đoạn nhật ký kết thúc.

Một người được gọi là người dẫn dắt nếu tại mọi thời điểm có ít nhất một người đang trực tuyến thì người đó cũng đang trực tuyến. Nói cách khác, người dẫn dắt luôn có mặt bất cứ khi nào cuộc họp có người tham gia.

Hãy xác định tất cả những người có thể là người dẫn dắt, tức là tồn tại một cách gán trạng thái trực tuyến (nhất quán với nhật ký và với việc họ có thể đã trực tuyến từ trước / vẫn trực tuyến về sau) sao cho người đó luôn có mặt khi có bất kỳ ai trực tuyến.

Dữ liệu đảm bảo nhật ký là một đoạn liên tục hợp lệ và không có hai sự kiện xảy ra cùng lúc.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên nm.
  • m dòng tiếp theo, mỗi dòng chứa một sự kiện dạng + id hoặc - id.

Dữ liệu ra

  • Dòng đầu in số nguyên k: số người có thể là người dẫn dắt.
  • Dòng thứ hai in k số nguyên theo thứ tự tăng dần: chỉ số của những người đó.

Nếu không có ai có thể là người dẫn dắt, chỉ in một số 0.

Ràng buộc

  • 1n,m105
  • 1idn

Ví dụ

Input Output Giải thích
5 4
+ 1
+ 2
- 2
- 1
4
1 3 4 5
Người 1 luôn có mặt khi người 2 trực tuyến nên là người dẫn dắt. Người 2 không thể (khi 2 đã đăng xuất, 1 vẫn trực tuyến). Người 3, 4, 5 không xuất hiện nên có thể đã trực tuyến suốt.
3 2
+ 1
- 2
1
3
Người 2 đăng xuất mà chưa từng đăng nhập nên đã trực tuyến từ trước. Khi 2 trực tuyến thì 1 chưa vào, khi 1 vào thì 2 vẫn còn (tới lúc đăng xuất): không ai trong {1,2} bao trùm mọi lúc. Chỉ người 3 (không xuất hiện) có thể là người dẫn dắt.
2 4
+ 1
- 1
+ 2
- 2
0 Có lúc chỉ mình 1 trực tuyến rồi có lúc chỉ mình 2 trực tuyến; không người nào phủ được cả hai khoảng nên không có người dẫn dắt.

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