Curier

Time limit: 0.2s Memory limit: 16MB Input: Output:

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 ii, va livra automat și la casele i+1,i+2,...,i+K1i+1, i+2, ..., i+K-1, pentru un KK fixat. O livrare la casele i,i+1,i+2,...,i+K1i, i+1, i+2, ..., i+K-1 se numește o tură (iNK+1)(i \leq N-K+1).

Cerință

Șeful lui Dorel (Costel) are o nouă misiune pentru acesta: trebuie sa livreze colete la NN case (numerotate de la 11 la NN). Casa cu numărul ii așteaptă aia_i colete. Șeful este foarte strict, așa că fiecare casă trebuie să primească exact aia_i 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 QQ întrebari lui Dorel, de forma "Poți să-ți indeplinești misiunea cu un avion cu acest KK ?". 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, TT, NN și QQ (numărul de teste, numărul de case, respectiv numărul de întrebări ale lui Mirel).
Pe fiecare din următoarele QQ linii se găsește KK, specific fiecărei întrebări ale lui Mirel.
Pe următoarele TT linii se găsesc a1,...,aNa_1, ..., a_N (numărul de colete așteptate de fiecare casă în parte ale unui test).

Date de ieșire

Se vor afișa TT linii, pe fiecare aflându-se răspunsul pentru testul respectiv.
Primul număr de pe fiecare linie va fi MM, numărul de răspunsuri puse de Mirel care au răspunsul DA. În continuare, se vor afișa MM numere, indicii întrebărilor la care răspunsul este DA, în ordine crescătoare.

Restricții și precizări

  • 1T301 \leq T \leq 30;
  • 1N1041 \leq N \leq 10^4;
  • 1Q1061 \leq Q \leq 10^6;
  • 1KN1 \leq K \leq N;
  • 0ai1090 \leq a_i \leq 10^9;
  • NN, QQ ș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 Q10Q \leq 10, N20N \leq 20 și ai1 000a_i \leq 1 \ 000
2 20 Q10Q \leq 10 și N1 000N \leq 1 \ 000
3 30 Q100Q \leq 100
4 20 Q104Q \leq 10^4
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, K=3K = 3. O soluție posibilă este să livram mai întâi la casele 1,2,31, 2, 3, apoi de 2 ori la casele 2,3,42, 3, 4. 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.

Log in or sign up to be able to send submissions!