QOJ.ac

QOJ

時間限制: 1 s 記憶體限制: 256 MB 總分: 100

#102. Bootfall

统计

Tima และเพื่อนอีก $N$ คนชอบเล่น Bootfall ซึ่งเป็นเกมกีฬาสำหรับผู้เล่น $N+1$ คน ผู้เล่นแต่ละคนมีค่าพลังเป็นจำนวนเต็มบวก เกมมีทั้งหมด $N+1$ รอบ ในแต่ละรอบ ผู้เล่นคนหนึ่งจะถ่ายวิดีโอบันทึกรอบนั้น ส่วนผู้เล่นอีก $N$ คนแบ่งออกเป็นสองทีม โดยผู้เล่นทุกคนต้องอยู่ในทีมใดทีมหนึ่ง และทั้งสองทีมต้องมีผู้เล่นอย่างน้อยหนึ่งคน พลังของทีมคือผลรวมพลังของผู้เล่นทุกคนในทีม นอกจากนี้ ผู้เล่นแต่ละคนจะเป็นผู้บันทึกวิดีโอหนึ่งรอบพอดี

รอบหนึ่งเรียกว่าเสมอกัน หากมีวิธีแบ่งผู้เล่นเป็นสองทีมที่มีพลังเท่ากัน และเกมทั้งเกมเรียกว่าเป็นมิตร หากทุกรอบเสมอกัน เพื่อนทั้ง $N$ คนได้แจ้งค่าพลังของตนให้ Tima ทราบแล้ว และตอนนี้ Tima สามารถกำหนดค่าพลังของตนเองเป็นค่าใดก็ได้ที่ถูกต้อง

Tima รู้ค่าพลังของผู้เล่นทั้ง $N$ คน และจะเลือกค่าพลังที่ทำให้เกมเป็นมิตรได้ ช่วยเขาหาค่าพลังที่เป็นไปได้ทั้งหมด

ข้อมูลนำเข้า

บรรทัดแรกมีจำนวนเต็มบวกหนึ่งจำนวน $N$ ($1\le N\le500$) คือจำนวนเพื่อนของ Tima บรรทัดที่สองมีจำนวนเต็มบวก $N$ จำนวน $a_1,a_2,\ldots,a_N$ ($1\le a_i\le500$; $1\le i\le N$) คั่นด้วยช่องว่าง โดย $a_i$ คือพลังของเพื่อนคนที่ $i$

ข้อมูลส่งออก

บรรทัดแรกต้องมีจำนวนเต็มหนึ่งจำนวน $K$ คือจำนวนค่าพลังที่เป็นไปได้ของ Tima หากไม่มีค่าที่เป็นไปได้ ให้พิมพ์เพียง 0 มิฉะนั้น ในบรรทัดที่สองให้พิมพ์จำนวนเต็มบวก $K$ จำนวนคั่นด้วยช่องว่าง ซึ่งเป็นค่าพลังที่เป็นไปได้ทั้งหมดของ Tima เรียงจากน้อยไปมาก

งานย่อย

โจทย์นี้มีหกงานย่อย:

  1. $1\le N\le12$, $1\le a_i\le200$ สำหรับทุก $1\le i\le N$ ได้ 6 คะแนน
  2. $1\le N\le30$, $1\le a_i\le20$ สำหรับทุก $1\le i\le N$ ได้ 7 คะแนน
  3. $1\le N\le100$, $1\le a_i\le100$ สำหรับทุก $1\le i\le N$ ได้ 15 คะแนน
  4. $1\le N\le270$, $1\le a_i\le270$ สำหรับทุก $1\le i\le N$ ได้ 16 คะแนน
  5. $1\le N\le350$, $1\le a_i\le350$ สำหรับทุก $1\le i\le N$ ได้ 21 คะแนน
  6. $1\le N\le500$, $1\le a_i\le500$ สำหรับทุก $1\le i\le N$ ได้ 35 คะแนน

จะได้รับคะแนนของงานย่อยแต่ละงานก็ต่อเมื่อคำตอบผ่านงานย่อยก่อนหน้าทั้งหมดด้วย

ตัวอย่าง

ข้อมูลนำเข้า 1

4
1 3 1 5

ข้อมูลส่งออก 1

1
3

ข้อมูลนำเข้า 2

6
3 5 7 11 9 13

ข้อมูลส่งออก 2

4
1 3 17 19

ข้อมูลนำเข้า 3

3
2 2 2

ข้อมูลส่งออก 3

0

ข้อมูลนำเข้า 4

4
200 200 200 200

ข้อมูลส่งออก 4

2
200 600

หมายเหตุ

คำอธิบายสำหรับตัวอย่างแรก

เราจะแสดงว่า หาก Tima เลือกพลัง $3$ เกมจะเป็นมิตรได้

  • เมื่อ Tima บันทึกวิดีโอ ผู้เล่นที่เหลืออาจแบ่งเป็นทีมแรก $(1,3,1)$ และทีมที่สอง $(5)$ เพื่อให้รอบนั้นเสมอกัน
  • เมื่อเพื่อนคนที่ 1 บันทึกวิดีโอ ผู้เล่นที่เหลืออาจแบ่งเป็นทีมแรก $(1,5)$ และทีมที่สอง $(3,3)$
  • เมื่อเพื่อนคนที่ 2 บันทึกวิดีโอ ผู้เล่นที่เหลืออาจแบ่งเป็นทีมแรก $(1,1,3)$ และทีมที่สอง $(5)$
  • เมื่อเพื่อนคนที่ 3 บันทึกวิดีโอ ผู้เล่นที่เหลืออาจแบ่งเป็นทีมแรก $(3,3)$ และทีมที่สอง $(1,5)$
  • เมื่อเพื่อนคนที่ 4 บันทึกวิดีโอ ผู้เล่นที่เหลืออาจแบ่งเป็นทีมแรก $(1,3)$ และทีมที่สอง $(1,3)$

หาก Tima เลือกพลังไม่เท่ากับ $3$ เกมจะไม่สามารถเป็นมิตรได้

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.