# PBinfo #802 – SumImpK – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: deivid

## Enunț

Cerinţa
Scrieţi definiția completă a subprogramului C++ sub care are 3 parametri: n – prin care primește un număr natural, v, prin care primeşte un tablou unidimensional cu n elemente, numere naturale cu cel mult 4 cifre și k, prin care primeşte un număr natural.

Subprogramul returnează suma primelor k elemente cu valoare impară ale tabloului. Dacă nu există k elemente impare în tablou, subprogramul returnează valoarea -1.

Restricţii şi precizări

2<n<50
1<k≤n
numele subprogramului cerut este sub
parametrii sunt, în această ordine: n, v, k
elementele tabloului v sunt indexate de la zero

Exemplu:
Dacă n=8, v=(2, 7, 6, 8, 3, 7, 5, 1), k=3, atunci subprogramul returnează valoarea 17 (7+3+7=17).

Important
Soluţia propusă va conţine doar definiţia subprogramului cerut. Prezenţa în soluţie a altor instrucţiuni poate duce erori de compilare sau de execuţie care vor avea ca efect depunctarea soluţiei.

## Cod sursă C++

```cpp
int sub(int n, int v[], int k)
{
	int s = 0 , cnt = 0;
	for(int i = 0 ; i < n && cnt < k ; i ++)
		if(v[i] % 2 == 1)
			s += v[i], cnt ++;
	if(cnt < k)
		return -1;
	return s;
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/802)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/802/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-802/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
