Вопрос пользователя:
Ответ нейросети:
Примеры
входные данные 4 1 2 3 4
выходные данные YES
входные данные 3 1 2 3
выходные данные NO
#include <iostream> #include <vector>
bool canBalanceWeights(std::vector<int> weights, int total, int idx, int currentSum) { if (idx == weights.size()) { return currentSum == total - currentSum; }
return canBalanceWeights(weights, total, idx + 1, currentSum + weights[idx]) || canBalanceWeights(weights, total, idx + 1, currentSum);
}
int main() { int N; std::cin >> N;
std::vector<int> weights(N);
int total = 0;
for (int i = 0; i < N; i++) {
std::cin >> weights[i];
total += weights[i];
}
if (canBalanceWeights(weights, total, 0, 0)) {
std::cout << "YES" << std::endl;
} else {
std::cout << "NO" << std::endl;
}
return 0;
}
Напишите нам, если в вопросе есть ваши персональные данные ([email protected])
Обратите внимание: ответы, предоставляемые искусственным интеллектом, могут не всегда быть точными. Не рассчитывайте на них в критически важных областях, таких как медицина, юриспруденция, финансы или в вопросах, связанных с безопасностью. Для важных решений всегда обращайтесь к квалифицированным специалистам. Администрация сайта не несет ответственности за контент, сгенерированный автоматически.