М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Elizabeth191102
Elizabeth191102
20.02.2020 09:06 •  Информатика

С утра шел дождь, и ничего не предвещало беды. Но к обеду выглянуло солнце, и в детский лагерь заглянула СЭС. Пройдя по всем домикам и корпусам, СЭС вынесла следующий вердикт: бельевые веревки в жилых домиках не удовлетворяют нормам СЭС. Как выяснилось, в каждом домике должно быть ровно по одной бельевой веревке, и все веревки должны иметь одинаковую длину. В лагере имеются N бельевых веревок и K домиков. Чтобы лагерь не закрыли, требуется так нарезать данные веревки, чтобы среди получившихся веревочек было K одинаковой длины. Формат входных данных
В первой строке заданы два числа — N и K (1≤N,K≤104+1). Далее в каждой из последующих N строк записано по одному числу — длине очередной бельевой веревки. Длина веревки задана в сантиметрах. Все длины лежат в интервале от 1 сантиметра до 100 километров включительно.

Формат выходных данных
В выходной файл выведите одно целое число — максимальную длину веревочек, удовлетворяющую условию, в сантиметрах. В случае, если лагерь закроют, выведите 0.

входные данные
4 11
802
743
457
539

выходные данные
200

👇
Ответ:
amiralimurodov
amiralimurodov
20.02.2020

вроде должно работать

Объяснение:

#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;

}

4,7(46 оценок)
Открыть все ответы
Ответ:
glebyha22
glebyha22
20.02.2020
Статические модели относятся к объектам, практически неизменяющимся во времени или рассматриваемым в отдельные временные сечения. Динамические модели воспроизводят изменения состояний («движение») объекта с учетом как внешних, так и внутренних факторов.

Для динамических моделей часто вводят понятия стационарность и нестационарность. Чаще всего стационарность выражается в неизменности во времени некоторых физических величин: стационарным является поток жидкости с постоянной скоростью, стационарна механическая система, в которой силы зависят только от координат и не зависят от времени.
4,7(10 оценок)
Ответ:
Alphons145
Alphons145
20.02.2020
Var
    a, b, c, p: real;
    a1, b1, c1: real;
    a2, b2, c2: real;

function SideLength(a1, a2, b1, b2: real): real;
begin
    SideLength := sqrt(sqr(a1 - b1) + sqr(a2 - b2));
end;

begin
    writeln('1.Найти сумму трех чисел');
    readln(a, b, c);
    writeln(a + b + c);
    
    writeln('2.Катеты прямоугольного треугольника известны.Найти гипотенузу.');
    readln(a, b);
    writeln(sqrt(a * a + b * b));
    
    writeln('3.Найти среднеарифметическое двух чисел.');
    readln(a, b);
    writeln((a + b) / 2);
    
    writeln('4.Найти длину окружности,если известна площадь круга.');
    readln(a);
    writeln(sqrt(a / pi) * 2 * pi);
    
    writeln('5.Какой процент составляет число а от числа b.');
    readln(a, b);
    writeln(a / b * 100);
    
    writeln('6.Найдите площадь треугольника с формулы Герона.');
    readln(a, b, c);
    p := (a + b + c) / 2;
    writeln(sqrt((p - a) * (p - b) * (p - c) * p));
    
    writeln('7.Найдите площадь кольца,если его толщина I см,диаметр внутри круга d см.');
    readln(a, b);
    c := a + b;
    writeln(pi * (c * c - b * b));
    
    writeln('8.Вычислите площадь треугольника заданного координатами вершин.');
    readln(a1, a2, b1, b2, c1, c2);
    writeln(((a1 - c1) * (b2 - c2) - (a2 - c2) * (b1 - c1)) / 2);
    
    writeln('9.Вычислить длинны сторон треугольника по заданным координатам его вершин.');
    a := SideLength(a1, a2, b1, b2);
    b := SideLength(c1, c2, b1, b2);
    c := SideLength(a1, a2, c1, c2);
    writeln(a, ' ', b, ' ', c);
end.
4,4(90 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ