Вопрос пользователя:
Ответ нейросети:
#include <iostream> #include <vector> #include <algorithm>
int main() { int n; std::cin >> n; std::vector<int> lengths(n);
for (int i = 0; i < n; ++i) {
std::cin >> lengths[i];
}
std::sort(lengths.rbegin(), lengths.rend());
int max_area = 0;
for (int h = 1; h <= n; ++h) {
int v = std::min(lengths[h - 1], n - h);
int count_v = std::count_if(lengths.begin() + h, lengths.end(), [h](int l) { return l >= h; });
v = std::min(v, count_v);
int area = h * v;
max_area = std::max(max_area, area);
if (v == 0) {
break;
}
}
std::cout << max_area << std::endl;
return 0;
}
Напишите нам, если в вопросе есть ваши персональные данные ([email protected])
Обратите внимание: ответы, предоставляемые искусственным интеллектом, могут не всегда быть точными. Не рассчитывайте на них в критически важных областях, таких как медицина, юриспруденция, финансы или в вопросах, связанных с безопасностью. Для важных решений всегда обращайтесь к квалифицированным специалистам. Администрация сайта не несет ответственности за контент, сгенерированный автоматически.