эта проблема
Обычно я стираю код по умолчанию и начинаю решать все самостоятельно. Однако тестовые примеры hackerrank показывают другой результат, отличный от того, который появляется мне всякий раз, когда я запускаю пользовательский ввод. Почему отображается другое число?
Имейте в виду, что я пробовал разные размеры ввода, такие как float, long long int, int и double;
#include <bits/stdc++.h>
using namespace std;
int main() {
long long int arr[5], neglect = 0, min = 9999999999999, max = 0, curr = 0;
for (int i = 0; i < 5; i++) {
cin >> arr[i];
}
while (neglect < 5) {
for (int i = 0; i < 5; i++) {
if (i == neglect) {i++;}
curr += arr[i];
}
if (curr < min) {min = curr;}
if (curr > max) {max = curr;}
//cout << curr << endl;
//cout << curr << " " << min << " " << max << endl;
curr = 0;
neglect++;
}
cout << min << " " << max;
}
Все, что я хотел, это решить эту проблему способом, который пробует все комбинации, а затем показывает наименьшее и максимальное значения. Я знаю, что мой код не является оптимальным способом решения этой проблемы, я знаю, что могу просто отсортировать массив и исключить первый и последний элементы, но, пожалуйста, потерпите меня.
input: 1 2 3 4 5
заявленный результат: 11 4198826
, но когда я отладил его с тем же пользовательским вводом и прокомментированными строками, он показал:
14 14 14
13 13 14
12 12 14
11 11 14
10 10 14
10 14
Разве это не означает, что мой код должен работать?