В связи с визитом Императора Палпатина было решено обновить состав дроидов в ангаре 32. Из-за кризиса было решено новых дроидов не закупать, но выкинуть пару старых. Как известно, Палпатин не переносит дроидов с маленькими серийными номерами, так что все, что требуется - найти среди них двух, у которых серийные номера наименьшие. Входные данные
Первая строка входного файла содержит целое число N – количество дроидов. (2 ≤ N ≤ 1000), вторая строка – N целых чисел, по модулю не превышающих 2*109 – номера дроидов
Выходные данные
Выведите два числа: первым – последний по величине из номеров дроидов (такого следует утилизировать в первую очередь), а вторым – предпоследний.
#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;
}
x,f:real;
begin
Write('Введите x: '); Readln(x);
if (x>-2.4) and (x<5.7) then f:=sqr(x)
else f:=4;
Writeln('F=',f)
end.
var
x,f:real;
begin
Write('Введите x: '); Readln(x);
if (x>0.2) and (x<0.9) then f:=sin(x)
else f:=1;
Writeln('F=',f)
end.
var
a,b,c:real;
begin
Write('Введите три числа: '); Readln(a,b,c);
Write('Условие ',a,'<',b,'<',c);
if (b>a) and (b<c) then Writeln(' выполняется.')
else Writeln(' не выполняется.');
Write('Условие ',b,'>',a,'>',c);
if (a<b) and (a>c) then Writeln(' выполняется.')
else Writeln(' не выполняется.')
end.