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

Đóng cửa điểm bỏ phiếu

Đề bài

Mô tả

n ứng cử viên, đánh số từ 1 đến n, và m điểm bỏ phiếu, đánh số từ 1 đến m. Ứng cử viên số n là ứng cử viên đối lập.

Với mỗi điểm bỏ phiếu, bạn biết số phiếu mà từng ứng cử viên nhận được tại điểm đó: ai,j là số phiếu của ứng cử viên j tại điểm bỏ phiếu i.

Ứng cử viên đối lập sẽ trúng cử nếu tổng số phiếu của họ trên tất cả các điểm bỏ phiếu không bị hủylớn hơn thực sự tổng số phiếu của mọi ứng cử viên khác.

Việc duy nhất bạn được phép làm để ngăn ứng cử viên đối lập trúng cử là hủy kết quả tại một số điểm bỏ phiếu (khi một điểm bị hủy, toàn bộ số phiếu tại điểm đó của tất cả ứng cử viên không được tính).

Hãy ngăn ứng cử viên đối lập trúng cử bằng cách hủy số điểm bỏ phiếu ít nhất có thể, rồi chỉ ra các điểm bị hủy. Nếu hủy hết mọi điểm thì số phiếu của tất cả ứng cử viên đều bằng 0, nên ứng cử viên đối lập không trúng cử — vì vậy luôn tồn tại đáp án.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên nm — số ứng cử viên và số điểm bỏ phiếu.
  • m dòng tiếp theo, dòng thứ i chứa n số nguyên ai,1,ai,2,,ai,n — số phiếu của từng ứng cử viên tại điểm bỏ phiếu i.

Dữ liệu ra

  • Dòng đầu in số nguyên k — số điểm bỏ phiếu ít nhất cần hủy.
  • Dòng thứ hai in k số nguyên — chỉ số của các điểm bỏ phiếu bị hủy, theo thứ tự bất kỳ. Nếu có nhiều cách hủy k điểm, in ra cách bất kỳ. Khi k=0, dòng thứ hai để trống.

Ràng buộc

  • 2n100
  • 1m100
  • 0ai,j1000

Ví dụ

Input Output Giải thích
5 3
6 3 4 2 8
3 7 5 6 7
5 2 4 7 9
2
3 1
Tổng phiếu ban đầu là 14,12,13,15,24 — ứng cử viên đối lập (số 5) dẫn đầu. Hủy điểm 13, chỉ còn điểm 2 với các tổng 3,7,5,6,7; ứng cử viên 5 không còn dẫn đầu thực sự.
2 1
1 1
0 Tổng phiếu là 11; ứng cử viên đối lập (số 2) không lớn hơn thực sự ứng cử viên 1, nên không cần hủy điểm nào.
3 3
2 3 8
4 2 9
3 1 7
3
1 2 3
Ứng cử viên đối lập (số 3) đang thắng ở mọi tổ hợp; chỉ khi hủy cả ba điểm thì số phiếu mới đều bằng 0 và họ không trúng cử.

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