С утра шел дождь, и ничего не предвещало беды. Но к обеду выглянуло солнце, и в детский лагерь заглянула СЭС. Пройдя по всем домикам и корпусам, СЭС вынесла следующий вердикт: бельевые веревки в жилых домиках не удовлетворяют нормам СЭС. Как выяснилось, в каждом домике должно быть ровно по одной бельевой веревке, и все веревки должны иметь одинаковую длину. В лагере имеются N бельевых веревок и K домиков. Чтобы лагерь не закрыли, требуется так нарезать данные веревки, чтобы среди получившихся веревочек было K одинаковой длины. Формат входных данных
В первой строке заданы два числа — N и K (1≤N,K≤104+1). Далее в каждой из последующих N строк записано по одному числу — длине очередной бельевой веревки. Длина веревки задана в сантиметрах. Все длины лежат в интервале от 1 сантиметра до 100 километров включительно.
Формат выходных данных
В выходной файл выведите одно целое число — максимальную длину веревочек, удовлетворяющую условию, в сантиметрах. В случае, если лагерь закроют, выведите 0.
входные данные
4 11
802
743
457
539
выходные данные
200
233
500
Ответы на вопрос:
вроде должно работать
Объяснение:
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main() {
long long k, n;
cin >> n >> k;
vector<int> v;
for (int i = 0; i < n; i++) {
int a;
cin >> a;
v.push_back(a);
}
int l = 1, r = 200, m;
while (l < r - 1) {
long long sum = 0;
m = (r + l) / 2;
for (int i = 0; i < n; i++) {
sum += v[i] / m;
}
if (sum < k) {
r = m;
}
else {
l = m;
}
}
int sumL = 0, sumR = 0;
for (int i = 0; i < n; i++) {
sumL += v[i] / l;
sumR += v[i] / r;
}
if (sumR == k) {
cout << r;
return 0;
}
else if (sumL==k){
cout << l;
return 0;
}
cout << 0;
return 0;
}
В1 + В2 = 5
(В1 + В2 + В3) / 3 = 5
(5 + В3) / 3 = 5
5 + В3 = 15
В3 = 15 – 5 = 10
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
livekristinka05.02.2021 14:23
-
dodmitry13.04.2023 17:08
-
Алекс77777716.09.2021 20:31
-
vkakochka06.05.2022 23:26
-
DANIIL1231705.12.2020 20:18
-
mariakit00117.02.2022 11:32
-
8900056600416.11.2021 08:04
-
123435323411.04.2020 01:45
-
iskanderkhusano28.05.2022 06:41
-
Топор22825.03.2020 11:49
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.