#include <iostream>
#include <string>
#include <cmath>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
int i, k, n;
double s = 0, j;
cin >> n;
vector <int> v(n);
for (i = 0; i < n; ++i)
{
cin >> v[i];
s += v[i];
}
s /= 2;
j = s;
sort(v.begin(), v.end());
i = 0;
while (s >= 0)
{
s -= v[i];
++i;
}
k = i;
int z = 0;
i = n - 1;
while (j >= 0)
{
s -= v[i];
++z;
--i;
}
if (n == 1)
cout << 1;
else {
if (k < z)
cout << (k + 1);
else
cout << (z + 1);
}
//system("pause");
return 0;
}
Забавная у вас программа...
Допустим, после ввода и
s /= 2;
j = s;
получим j>0
. И сколько после этого будет работать вот этот цикл:
while (j >= 0)
{
s -= v[i];
++z;
--i;
}
Ровно до момента i < 0
- т.е. выхода за границу массива... что вы и продемонстрировали на рисунке.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Добрый деньНеобходимо написать программу, которая будет запускаться в Debian на устройстве Orange Pi
Приветствую! Подскажите пожалуйста, какой плагин нужен для JQuery события Pan-х (перетаскивание объекта в горизонтальной плоскости) и как его...