Cześć, mam takie oto zadanie:

Do sklepu RTV przyszła grupa klientów. Każdy z nich ma pewne wymagania co do telewizora LCD, który zamierza kupić. Jednocześnie, każdy z nich ma ograniczoną sumę, przeznaczoną na ten zakup. Zazwyczaj z wyższą jakością sprzętu wiąże się jego wyższa cena, wobec czego możemy założyć, że wymagana jakość wyznacza cenę minimalną telewizora. Ceny telewizorów w sklepie rozpoczynają się od 1000 zł i rosną po 100 zł przy każdym lepszym modelu. Rozstrzygnij, jaką maksymalną liczbę telewizorów można sprzedać w takich warunkach.

Wejście:
W pierwszym wierszu znajdują się dwie liczby naturalne N i K, żadna z tych liczb nie przekracza 100. Pierwsza z nich oznacza liczbę klientów, zaś druga – liczbę telewizorów w sklepie. W kolejnych N wierszach znajdują się pary liczb naturalnych podzielnych przez 100, określające preferencje kolejnych klientów (zawsze pierwsza z nich jest niewiększa od drugiej). Liczby znajdujące się w jednym wierszu rozdzielone są pojedynczą spacją.

Wyjście:
Wypisz na ekranie jedną liczbę naturalną, określającą maksymalną liczbę telewizorów, które można sprzedać.

Przykład
Dane:

6 6
1000 1200
1100 1300
1100 1100
1200 1300
1000 1300
1500 2100
Wynik:

5

Zasadniczo je rozwiązałem, ale nie wiem czy poprawnie. Czy może ktoś rzucić okiem na mój kod? Testowałem na tych przykładowych danych, ale mimo to dostaję tylko 3 punkty na 6. Zastanawiam się jak zrobić też to zadanie bez użycia instrukcji break.

include <iostream>

using namespace std;

void sortowanie_babelkowe(int gd, int gg, int n){
for (int i=1; i<n; i++) {
for (int j=0; j<n-i; j++) {
if (gg[j]>gg[j+1]) {
swap(gg[j], gg[j+1]);
swap(gd[j], gd[j+1]);
}
}
}
}

int main () {

int klienci, telewizory;

// cout << "Podaj liczbę klientów w sklepie: ";
cin >> klienci;

// cout << "Podaj liczbę telewizorów do sprzedania: ";
cin >> telewizory;

int gd[klienci], gg[klienci];

// cout << "Podaj dolną i górną granice kwotową poszczególnych klientów: \n";

//podaję przedziały kwotowe

for (int i=0; i<klienci; i++) {
    cin >> gd[i] >> gg[i];
}

sortowanie_babelkowe(gd, gg, klienci);

// for (int i=0; i<klienci; i++) {
// cout << gd[i] << " " << gg[i] << endl;
// }

int cena_telewizora=1000, liczba_sprzedanych=0;
int i=0;

for (; i<klienci; ) {
        if (gd[i]<=cena_telewizora && cena_telewizora<=gg[i]) {

// cout << gd[i] << " " << gg[i] << " " << cena_telewizora << endl;
liczba_sprzedanych++;
cena_telewizora = cena_telewizora+100;
telewizory--;
gd[i]=0;
gg[i]=0;
if (telewizory==0) {
cout << liczba_sprzedanych;
break;
}
else i=0;
}
else if (i==klienci-1){
cena_telewizora = cena_telewizora+100;
telewizory--;
if (telewizory==0) {
cout << liczba_sprzedanych;
break;
}
}
else i++;
}

return 0;

}