Дано описание. Выбери верную группу инструментов.Необходимые для определения областей обработки изображения.Иинструменты осветленияИнструменты перемещенияИнструменты красокИнструменты выделения
// PascalABC.NET 3.0, сборка 1128 begin var a:=ArrRandom(20,-10,19); a.Println(','); // 1 var b:=ReadArrInteger('Введите 10 целых чисел',10); // 2 Writeln('Количество положительных элементов ', a.Where(x->x>0).Count); // 3 for var i:=0 to 19 do if a[i]<0 then a[i]:=0; Writeln('Массив А после замены отрицательных'); a.Println(','); //4 Writeln('Сумма положительных элементов ', a.Where(x->x>0).Sum) // 5 end.
Тестовое решение: 14,8,9,-5,6,3,3,-10,-8,18,7,13,2,17,-1,0,4,-3,8,-8 Введите 10 целых чисел -5 0 13 -7 -14 11 8 19 -3 -1 Количество положительных элементов 13 Массив А после замены отрицательных 14,8,9,0,6,3,3,0,0,18,7,13,2,17,0,0,4,0,8,0 Сумма положительных элементов 112
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Дано описание. Выбери верную группу инструментов.Необходимые для определения областей обработки изображения.Иинструменты осветленияИнструменты перемещенияИнструменты красокИнструменты выделения
#include <iostream>
typedef long long ll;
using namespace std;
bool ll_is_valid(ll t, ll N, ll x, ll y)
{
return t / x + (t - x) / y >= N;
}
ll f(ll N, ll x, ll y)
{
ll R = 1;
while (!ll_is_valid(R,N,x,y)) R *= 2;
ll L = R / 2;
while(R - L > 1)
{
ll M = (L + R) / 2;
if (!ll_is_valid(M,N,x,y)) {L = M;}
else {R = M;}
}
return R;
}
int main()
{
ll N,x,y;
cin >> N >> x >> y;
if(x > y) swap( x, y );
cout << f(N, x, y) << std::endl;
}