Revizia anterioară Revizia următoare
Fişierul intrare/ieşire: | papagali.in, papagali.out | Sursă | Junior Challenge 2020 |
Autor | Alexa Tudose | Adăugată de | |
Timp execuţie pe test | 0.35 sec | Limită de memorie | 524288 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Papagali
În ciuda aparenţelor, Kokalaru47 este un mare iubitor al animalelor, în special al papagalilor. El deţine N papagali aparţinând unui număr de K specii, câte Ai papagali din specia i. Se garantează că ai este par. El doreşte să îşi extindă colecţia cât mai curând.
Kokalaru47 are Q planuri de a-şi extinde colecţia. Pentru fiecare plan i, el îşi doreşte să achiziţioneze Xi papagali noi, aparţinând celor K specii. El va face acest lucru astfel încât să aibă în continuare tot un număr par de papagali din fiecare specie (altfel papagalii s-ar simţi singuri). Kokalaru47 e mare fan al schemelor de papagali, deci vrea să achiziţioneze noii papagali astfel încât numărul de scheme de papagali care vor putea fi efectuate după aceea să fie cât mai mare. La aceste scheme participă atât papagalii pe care îi avea deja, cât şi cei Xi papagali noi.
În viziunea sa, o schemă cu papagali este definită astfel:
Papagalii se aşează într-un şir. Apoi, fiecare papagal îşi alege o pereche din aceeaşi specie cu el. Fiecare papagal va aparţine exact unei perechi.
Kokalaru47 consideră că două scheme sunt diferite dacă şi numai dacă cel puţin una dintre următoarele condiţii este îndeplinită:
1) Există o poziţie x astfel încât papagalul de pe poziţia x din prima schemă aparţine altei specii decât papagalul de pe poziţia x din a doua schemă.
2) Există două poziţii x si y astfel încât papagalii de pe poziţiile x si y sunt într-o pereche în prima schemă, dar nu sunt într-o pereche în a doua schemă.
Cerinţă
Kokalaru47 vă roagă să-i spuneţi care este numărul maxim de scheme de papagali ce pot fi efectuate în situaţia iniţială şi în fiecare dintre planurile sale. Aceste numere vor fi afişate modulo 1 000 000 007.
Date de intrare
Pe prima linie a fişierului de intrare papagali.in se vor regăsi N şi K.
Pe cea de-a doua linie se vor afla a1, a2, ..., aK.
Pe cea de-a treia linie se va afla Q.
Pe cea de-a patra linie se vor afla valorile X1, X2, ..., XQ
Date de ieşire
Pe prima linie a fişierului de ieşire papagali.out se va afla numărul de scheme de papagali care pot fi realizate în situaţia iniţială. Pe linia i+1 (1<=i<=Q) se va afla numărul maxim de scheme de papagali care se pot obtine prin achizitionarea a Xi noi papagali. Aceste numere vor fi afişate modulo 1 000 000 007.
Restricţii
- ... ≤ ... ≤ ...
Exemplu
papagali.in | papagali.out |
---|---|
This is some text written on multiple lines. | This is another text written on multiple lines. |
Explicaţie
...