Octa și Goon au inventat un joc nou.
Cerință
Se dau două șiruri de numere naturale și de lungime , respectiv . Pentru fiecare de la la . Trebuie să spuneți câte valori , unde există astfel încât șirul format din primele elemente ale lui , urmat de primele elemente ale lui să conțină element majoritar. Mai exact, șirul sa conțină element majoritar.
Spunem că un șir conține element majoritar dacă există o valoare astfel încât apare de cel puțin ori în șirul .
Date de intrare
Pe prima linie se găsesc numerele .
Pe a doua linie se află numere naturale, reprezentând șirul .
Pe a treia linie se află numere naturale, reprezentând șirul .
Date de ieșire
Pe prima linie se vor afișa numere. Al -lea număr fiind răspunsul pentru prefixul de lungime din șirul .
Restricții și precizări
Din cauza numărului mare de date de intrare, respectiv ieșire, vă recomandăm să adăugați următoarele linii de cod la începutul funcției main()
.
ios_base::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
# | Punctaj | Restricții |
---|---|---|
1 | 11 | |
2 | 17 | |
3 | 29 | Sunt cel mult de valori distincte în și în total |
4 | 18 | Orice element apare de cel mult de ori în total în și |
5 | 25 | Fără alte restricții |
Exemplu
stdin
7 10
2 2 1 3 1 1 1
1 2 3 3 3 1 1 1 2 1
stdout
1 3 1 0 0 1 4
Explicație
Pentru , singurul care este bun este . Pentru și , șirul obținut este , unde este element majoritar. În schimb, pentru și , șirul obținut este unde nici , nici nu sunt elemente majoritare deoarece ele apar o singură dată, când ar trebui să apară de ori.