Cerința
Scrieți funcția care are antetul:
int SecvSumS(vector<int> &a, int s)
Funcția va returna lungimea minimă a unei secvențe nevide din a care are suma egală cu s. Dacă nu există nicio secvență de sumă s funcția va returna valoarea -1.
Restricții și precizări
aconține cel puțin un element și cel mult200.000- elementele vectorului sunt numere întregi din intervalul
[-5.000, 5.000] -1.000.000.000 ≤ s ≤ 1.000.000.000- Puteți utiliza în rezolvare orice structură de date
Exemplu:
Dacă a = (3,-2, 2, 1, 6, -3, 7, -11) și s = 10, atunci funcția va returna valoarea 3, secvența de lungime minimă fiind (6, -3, 7). Și dacă a = (-2, -3, 4, -1) și s = 6 atunci funcția va returna valoarea -1.
Important
Soluţia propusă va conţine doar funcţia cerută. Prezenţa în soluţie a altor instrucţiuni poate duce la erori de compilare sau de execuţie care vor avea ca efect depunctarea soluţiei.