După prea multe vacanțe în Dubai, Dorel a rămas fără niciun ban în pușculiță. Din acest motiv, Dorel a devenit curier la firma CC (Costel Couriering). Dorel a fost mereu special, așa că nu vrea să fie un curier ca toți ceilalți, livrând coletele cu mașina, ci cu un avion direct la ușa clienților. Pentru că nu mai avea bani, și-a cumpărat cel mai ieftin (prost) avion pe care l-a găsit. Acesta are un mare defect, dacă Dorel vrea să livreze un pachet la casa cu numărul , va livra automat și la casele , pentru un fixat. O livrare la casele se numește o tură .
Cerință
Șeful lui Dorel (Costel) are o nouă misiune pentru acesta: trebuie sa livreze colete la case (numerotate de la la ). Casa cu numărul așteaptă colete. Șeful este foarte strict, așa că fiecare casă trebuie să primească exact colete, altfel Dorel va fi dat afară (și nu va mai putea merge in vacanțe in Dubai)!
Prietenul lui Dorel, Mirel, auzind de misiunea lui, îi pune întrebari lui Dorel, de forma "Poți să-ți indeplinești misiunea cu un avion cu acest ?". Neștiind să răspundă la aceste întrebări, Dorel te-a angajat pe tine să-l ajuți (dacă reușești, vei putea merge in vacanță în Dubai cu el!).
Date de intrare
Pe prima linie se găsesc trei numere întregi, , și (numărul de teste, numărul de case, respectiv numărul de întrebări ale lui Mirel).
Pe fiecare din următoarele linii se găsește , specific fiecărei întrebări ale lui Mirel.
Pe următoarele linii se găsesc (numărul de colete așteptate de fiecare casă în parte ale unui test).
Date de ieșire
Se vor afișa linii, pe fiecare aflându-se răspunsul pentru testul respectiv.
Primul număr de pe fiecare linie va fi , numărul de răspunsuri puse de Mirel care au răspunsul DA. În continuare, se vor afișa numere, indicii întrebărilor la care răspunsul este DA, în ordine crescătoare.
Restricții și precizări
- ;
- ;
- ;
- ;
- ;
- , și întrebările lui Mirel sunt aceleași pentru toate testele dintr-un input;
- Pentru citirea și afișarea rapidă, se recomandă folosirea acestor linii de cod la începutul funcției
main
:
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
# | Punctaj | Restricții |
---|---|---|
1 | 10 | , și |
2 | 20 | și |
3 | 30 | |
4 | 20 | |
5 | 20 | Nu există restricții suplimentare |
Exemplu
stdin
2 4 3
2
3
4
1 3 3 2
10 10 10 10
stdout
1 2
2 1 3
Explicație
Pentru primul test, răspunsul la prima și ultima întrebare este NU.
Pentru a doua întrebare, . O soluție posibilă este să livram mai întâi la casele , apoi de 2 ori la casele . Astfel am livrat la toate casele numărul exact de colete, deci răspunsul la această întrebare este DA.
Pentru al doilea test, întrebările la care răspunsul este DA sunt prima și a treia.