Как найти минимально необходимое количество членов массива, необходимых для получения суммы, превышающей S

#include <iostream>
#include <algorithm>
using namespace std;

int main() {

    int Size, S, i;

    cout << "Size  = ";
    cin >> Size;
    int* A = new int[Size];
    cout << "elements  = ";
    for (i = 0; i < Size; i++) {
        cin >> A[i];
    }

    cout << endl;
    cout << "S  = ";
    cin >> S;
    cout << S;


    cout << endl;
    sort(A, A + Size);

    for (int i = 0; i < Size; ++i)
        cout << A[i] << " ";
    int sum = 0;

    for (int i = 0; i < Size; i++) {
        sum += i;
      
        if (sum > S) {


            cout << endl;
            cout << i+1; break;
        }
    }
    delete[]A;
    return 0;
}
если мы имеем массив 36 12 1 5 6 4 5 1 8 9 7 11 3 -1  и S = 34 то
минимальное кол. членов = 1 так как 36 > 34, а у меня выводи 9. а должно 1
так как 36>34.

Ответы (0 шт):