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

Hai đội thi đấu

Đề bài

Mô tả

Bạn có n học sinh và cần lập đúng hai đội từ một tập con của các học sinh này. Học sinh thứ i có kỹ năng là số nguyên ai (các học sinh khác nhau có thể cùng kỹ năng).

Hai đội phải thỏa mãn đồng thời các điều kiện sau:

  • Hai đội có cùng kích thước.
  • Đội 1 gồm các học sinh có kỹ năng đôi một khác nhau (mọi kỹ năng trong đội 1 đều phân biệt).
  • Đội 2 gồm các học sinh có cùng một kỹ năng (mọi kỹ năng trong đội 2 đều bằng nhau).

Một học sinh không thể đồng thời thuộc cả hai đội. Tuy nhiên, đội 1 và đội 2 có thể chứa các học sinh khác nhau mà tình cờ có cùng kỹ năng.

Hãy tìm kích thước x lớn nhất sao cho có thể chọn được hai đội hợp lệ, mỗi đội gồm đúng x học sinh.

t test case độc lập.

Dữ liệu vào

  • Dòng đầu chứa số nguyên t (1t104) — số test case.
  • Mỗi test case gồm hai dòng:
    • Dòng đầu chứa số nguyên n (1n2·105) — số học sinh.
    • Dòng thứ hai chứa n số nguyên a1,a2,,an (1ain) — kỹ năng của các học sinh.

Tổng n trên tất cả test case không vượt quá 2·105.

Dữ liệu ra

Với mỗi test case, in ra trên một dòng đáp án — kích thước lớn nhất x tìm được. Nếu không thể lập hai đội (kể cả với x=0 thì đáp án vẫn là 0).

Ràng buộc

  • 1t104
  • 1n2·105
  • 1ain
  • n2·105

Ví dụ

Input Output Giải thích
4
7
4 2 4 1 4 3 4
5
2 1 5 4 3
1
1
4
1 1 1 3
3
1
0
2
Test 1: đội 1 = [1, 2, 4], đội 2 = [4, 4, 4]. Test 2: tất cả kỹ năng phân biệt nên đội 2 chỉ có thể 1 phần tử. Test 3: chỉ có 1 học sinh, không đủ chia hai đội cùng kích thước dương. Test 4: đội 1 = [1, 3], đội 2 = [1, 1].
1
9
1 2 2 3 3 9 9 9 9
3 Đội 2 = [9, 9, 9] (còn dư một số 9 không dùng), đội 1 = [1, 2, 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.400 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.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 julia 1.12.7 kotlinc 2.4.10 lean 4.33.1 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.3.3 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0