На вход программе дается целое число n — количество запланированных звонков (1 ≤ n ≤ 2·105). На следующей строке вводятся через пробел n целых чисел Pi, обозначающие прибыли от звонков (0 ≤ Pi ≤ 1 000). Затем вводятся n+1 целых чисел Aj, обозначающие, сколько звонков можно будет провести после подзарядки (0 ≤ Aj ≤ 106).
Выходные данные
Выведите два числа, первое — это максимальная выгода, которую может получить бизнесмен, второе — количество пропущенных первых звонков, при котором она получается (0, если выгоднее всего не заряжать телефон вовсе).
Примеры тестов
входные данные
5
1 2 0 4 1
2 0 8 3 5 6
выходные данные
5 3
Примечание
Рассмотрим пример из условия: n = 5, P1 = 1, P2 = 2, P3 = 0, P4 = 4, P5 = 1, A0 = 2, A1 = 0, A2 = 8, A3 = 3, A4 = 5, A5 = 6.
Если бизнесмен не будет заряжать телефон, то результат будет равен P1 + P2 = 1 + 2 = 3 рубля. Если предприниматель будет заряжать телефон вместо первого звонка, то он не сможет позвонить ни разу, так как A1 = 0. Если вместо первых двух звонков, то результат составит P3 + P4 + P5 = 0 + 4 + 1 = 5 рублей. Если вместо первых трех, то P4 + P5 = 4 + 1 = 5. Если вместо четырёх звонков, то P5 = 1 рубль. Наконец, если бизнесмен будет заряжать телефон вместо всех n = 5 звонков, то он заведомо ничего не получит. Таким образом, два лучших варианта — это заряжать либо вместо 2 первых звонков, либо вместо 3, в обоих случаях получаем 5 рублей прибыли. По условию, из них мы выбираем выбираем вариант с 3 пропущенными звонками.
Объяснение:
ответ:1) (1 б.) Верные ответы: 3;
2) (1 б.) Верные ответы: 4;
3) (1 б.) Верные ответы: 1; 2;
4) (1 б.) Верные ответы: 3;
5) (1 б.) Верные ответы: 1;
6) (1 б.) Верные ответы: 3;
7) (1 б.) Верные ответы: 4;
8) (1 б.) Верные ответы: 1;
9) (1 б.) Верные ответы: 3;
10) (1 б.) Верные ответы: 3;
11) (1 б.) Верные ответы: 2;
12) (1 б.) Верные ответы: 3;
13) (1 б.) Верные ответы: 4;
14) (1 б.) Верные ответы: 1;
15) (1 б.) Верные ответы: 1; 2;
16) (1 б.) Верные ответы: 1;
17) (1 б.) Верные ответы: 2;
18) (1 б.) Верные ответы: 1;
19) (1 б.) Верные ответы: 3;
20) (1 б.) Верные ответы: 2;
21) (1 б.) Верные ответы: 2;
Объяснение:
uses GraphABC;
type FUN = function (x: real): real;
function f(x: real): real;
begin
f:=0.5*x*cos(2*x);
end;
// l (logical) - логические координаты
// s (screen) - физические координаты
procedure drawGraph(x1,x2,y1,y2: real; f: FUN);
var
xl,xl0,wl,yl,yl0,hl: real;
xs0,ws,ys0,hs: integer;
function LtoSx(xl: real): integer;
begin
Result:=round(ws/wl*(xl-xl0)+xs0);
end;
function LtoSy(yl: real): integer;
begin
Result:=round(hs/hl*(yl-yl0)+ys0);
end;
function StoLx(xs: integer): real;
begin
Result:=wl/ws*(xs-xs0)+xl0;
end;
var xi: integer;
begin // drawGraph
xs0:=0; ys0:=WindowHeight;
ws:=WindowWidth;
hs:=WindowHeight;
xl0:=x1;
yl0:=y1;
wl:=x2-x1;
hl:=-(y2-y1);
MoveTo(xs0,LtoSy(f(StoLx(xs0;
for xi:=xs0+1 to xs0+ws do
LineTo(xi,LtoSy(f(StoLx(xi;
end;
begin // program
SetWindowCaption('График функции');
drawGraph(-12,12,-23,23,f);
end.