Ước lượng số bạn của Bob

Đề bài

Mô tả

Trong một mạng xã hội, tình bạn là quan hệ hai chiều: nếu a là bạn của b thì b cũng là bạn của a. Mỗi người vì thế có một số lượng bạn không âm.

n người dùng (không kể Bob) trên mạng. Với mỗi người i, bạn biết ai là số bạn của người đó (tính trên toàn bộ mạng, bao gồm cả khả năng làm bạn với Bob). Bob quên mất mình có bao nhiêu người bạn.

Hãy tìm tất cả các giá trị có thể của an+1, tức số người mà Bob có thể đang làm bạn, sao cho tồn tại một mạng xã hội (một đồ thị đơn vô hướng trên n+1 đỉnh) mà bậc của n+1 đỉnh đúng bằng a1,a2,,an,an+1.

In ra tất cả các giá trị hợp lệ theo thứ tự tăng dần. Nếu không có giá trị nào, in ra 1.

Dữ liệu vào

  • Dòng đầu chứa số nguyên n, số người trên mạng không kể Bob.
  • Dòng thứ hai chứa n số nguyên a1,a2,,an.

Dữ liệu ra

  • In ra tất cả các giá trị có thể của an+1 theo thứ tự tăng dần, cách nhau bởi dấu cách.
  • Nếu không tồn tại giá trị nào, in ra 1.

Ràng buộc

  • 1n5·105
  • 0ain

Ví dụ

Input Output Giải thích
3
3 3 3
3 Mỗi người trong ba người đều có 3 bạn, nên tất cả phải làm bạn lẫn nhau và làm bạn với Bob. Bob có đúng 3 bạn.
4
1 1 1 1
0 2 4 Bob có thể có 0, 2 hoặc 4 bạn. Ví dụ: ghép cặp hai đôi và Bob không có bạn; hoặc ghép một đôi còn hai người kia làm bạn với Bob; hoặc Bob làm bạn với cả bốn người.
2
0 2
-1 Người thứ hai cần có 2 bạn, nhưng chỉ còn lại người thứ nhất (có 0 bạn) và Bob, nên không thể đạt đượ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