QOJ.ac

QOJ

実行時間制限: 1 s メモリ制限: 256 MB 満点: 100 ハック可能 ✓

#102. Bootfall

統計

Tima ja hänen $N$ ystäväänsä rakastavat pelata Bootfall-peliä. Bootfall on urheilupeli $N + 1$ pelaajalle. Jokaisella pelaajalla on voimakkuus, joka voidaan esittää positiivisena kokonaislukuna. Peli koostuu $N + 1$ kierroksesta; jokaisella kierroksella yksi pelaajista kuvaa kierroksen videolle ja loput $N$ pelaajaa jakautuvat kahteen joukkueeseen siten, että jokainen pelaaja sijoitetaan jompaankumpaan joukkueeseen ja molemmat joukkueet ovat epätyhjiä. Joukkueen voimakkuus on joukkueen kaikkien pelaajien voimakkuuksien summa. Lisäksi jokainen pelaaja toimii kuvaajana täsmälleen yhdellä kierroksella.

Kierrosta kutsutaan tasapeliksi, jos on olemassa jako kahteen voimakkuudeltaan yhtä suureen joukkueeseen, ja koko peliä kutsutaan ystävälliseksi, jos kaikki kierrokset ovat tasapelejä. Jokainen $N$ ystävästä on jo kertonut Timalle oman voimakkuutensa, ja nyt Tima voi asettaa itselleen minkä tahansa kelvollisen voimakkuuden arvon.

Tima tietää kaikkien $N$ pelaajan voimakkuudet ja aikoo valita jonkin arvon siten, että peli voi olla ystävällinen. Auta häntä löytämään kaikki mahdolliset voimakkuudet.

Syöte

Syötteen ensimmäinen rivi sisältää yhden positiivisen kokonaisluvun $N$ ($1 \le N \le 500$) — Timan ystävien lukumäärän. Syötteen toinen rivi sisältää $N$ välilyönnein erotettua positiivista kokonaislukua $a_1, a_2, \ldots, a_N$ ($1 \le a_i \le 500$; $1 \le i \le N$), missä $a_i$ on $i$:nnen henkilön voimakkuus.

Tuloste

Tulosteen ensimmäisen rivin tulee sisältää yksi kokonaisluku $K$ — Timan mahdollisten voimakkuuksien lukumäärä. Jos Timalle ei ole yhtään mahdollista voimakkuutta, tulosta pelkästään ”0” (ilman lainausmerkkejä); muussa tapauksessa tulosta tulosteen toiselle riville välilyönnein erotettuina $K$ positiivista kokonaislukua — kaikki mahdolliset voimakkuuksien arvot Timalle kasvavassa järjestyksessä.

Osatehtävät

Tämä tehtävä koostuu kuudesta osatehtävästä:

  1. $1 \le N \le 12$, $1 \le a_i \le 200$, kaikilla $1 \le i \le N$. Pistemäärä: 6 pistettä.
  2. $1 \le N \le 30$, $1 \le a_i \le 20$, kaikilla $1 \le i \le N$. Pistemäärä: 7 pistettä.
  3. $1 \le N \le 100$, $1 \le a_i \le 100$, kaikilla $1 \le i \le N$. Pistemäärä: 15 pistettä.
  4. $1 \le N \le 270$, $1 \le a_i \le 270$, kaikilla $1 \le i \le N$. Pistemäärä: 16 pistettä.
  5. $1 \le N \le 350$, $1 \le a_i \le 350$, kaikilla $1 \le i \le N$. Pistemäärä: 21 pistettä.
  6. $1 \le N \le 500$, $1 \le a_i \le 500$, kaikilla $1 \le i \le N$. Pistemäärä: 35 pistettä.

Kustakin osatehtävästä saa pisteet vain, jos ratkaisu läpäisee onnistuneesti kaikki edeltävät osatehtävät.

Esimerkit

Syöte 1

4
1 3 1 5

Tuloste 1

1
3

Syöte 2

6
3 5 7 11 9 13

Tuloste 2

4
1 3 17 19

Syöte 3

3
2 2 2

Tuloste 3

0

Syöte 4

4
200 200 200 200

Tuloste 4

2
200 600

Huomautus

Huomautuksia ensimmäiseen esimerkkitestiin.

Osoitetaan, että jos Tima valitsee voimakkuuden $3$, niin peli voi olla ystävällinen.

  • Kun Tima kuvaa peliä, kierroksen saamiseksi tasapeliksi muut pelaajat voidaan jakaa seuraavasti: $(1, 3, 1)$ ensimmäiseen joukkueeseen ja $(5)$ toiseen.
  • Kun ystävä 1 kuvaa peliä, muut voidaan jakaa seuraavasti: $(1, 5)$ ensimmäiseen joukkueeseen, $(3, 3)$ toiseen.
  • Kun ystävä 2 kuvaa peliä, muut voidaan jakaa seuraavasti: $(1, 1, 3)$ ensimmäiseen joukkueeseen, $(5)$ toiseen.
  • Kun ystävä 3 kuvaa peliä, muut voidaan jakaa seuraavasti: $(3, 3)$ ensimmäiseen joukkueeseen, $(1, 5)$ toiseen.
  • Kun ystävä 4 kuvaa peliä, muut voidaan jakaa seuraavasti: $(1, 3)$ ensimmäiseen joukkueeseen, $(1, 3)$ toiseen.

Jos Tima valitsee voimakkuuden, joka on eri suuri kuin $3$, peli ei voi olla ystävällinen.

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.