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