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

Ý Kiến Đa Số

Đề bài

Mô tả

Bác John quản lý N con bò, mỗi con thích một loại cỏ khô. Bác John muốn tìm hiểu xem loại cỏ khô nào có thể trở thành loại cỏ được tất cả các con bò yêu thích.

Bác John có thể tổ chức các "nhóm thảo luận" gồm một dãy liên tiếp các con bò. Trong một nhóm thảo luận, nếu một loại cỏ khô được hơn một nửa số bò trong nhóm yêu thích, thì tất cả các con bò trong nhóm sẽ chuyển sang thích loại cỏ đó.

Bác John có thể tổ chức các nhóm thảo luận theo bất kỳ thứ tự nào và bao nhiêu lần tùy ý. Hãy xác định tất cả các loại cỏ khô có thể trở thành loại cỏ được toàn bộ đàn bò yêu thích.

Dữ liệu vào

  • Dòng đầu tiên chứa số nguyên T (1T10) - số lượng test case.
  • Với mỗi test case:
    • Dòng đầu: số nguyên N (2N105) - số lượng bò.
    • Dòng tiếp theo: N số nguyên h1,h2,,hN (1hiN) - loại cỏ yêu thích của mỗi con bò.
  • Tổng N qua tất cả test case không vượt quá 2×105.

Dữ liệu ra

Với mỗi test case, in trên một dòng tất cả các loại cỏ khô có thể trở thành loại cỏ được toàn bộ đàn bò yêu thích, theo thứ tự tăng dần, cách nhau bởi dấu cách. Nếu không có loại nào, in -1.

Ràng buộc

  • 1T10
  • 2N105
  • 1hiN
  • Tổng N2×105

Ví dụ

Input Output Giải thích
5
5
1 2 2 2 3
6
1 2 3 1 2 3
6
1 1 1 2 2 2
3
3 2 3
2
2 1
2
-1
1 2
3
-1
Test 1: hai con bò ở vị trí 2, 3 cùng thích loại 2 (cặp liên tiếp). Mở nhóm {1,2,3} có 2/3 thích loại 2 nên bò 1 chuyển sang 2; rồi nhóm {3,4,5} có 2/3 thích loại 2 nên bò 5 cũng chuyển. Cả đàn cùng thích 2.
Test 2: dãy lặp 1 2 3 1 2 3, mọi cặp vị trí cùng giá trị đều cách nhau 3 đơn vị nên trong bất kỳ nhóm liên tiếp nào, không loại nào chiếm hơn một nửa.
Test 3: cả loại 1 và loại 2 đều chỉ chiếm 3/6 (đúng một nửa, không phải đa số toàn mảng) nhưng đều có cặp liên tiếp, nên đều có thể lan ra cả đàn.
Test 4: hai vị trí 1 và 3 cùng thích loại 3 (cách nhau 2). Nhóm {1,2,3} có 2/3 thích loại 3 nên bò 2 chuyển sang 3.
Test 5: chỉ có 2 con bò khác loại, không thể tạo đa số.

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