Алиса и боб стали победителями телевикторины, и теперь им предстоит выбрать себе призы. на выбор предлагается n призов, пронумерованных от 1 до n.
распределение призов происходит следующим образом. организаторы телевикторины сообщают победителям целое положительное число k (1 ≤ k ≤ n / 3). сначала алиса выбирает себе любые k подряд идущих номеров призов. потом боб выбирает себе k подряд идущих номеров призов, при этом он не может выбирать номера, которые уже выбрала алиса. после этого победители забирают выбранные ими призы.
алиса хорошо знает боба, и для каждого приза выяснила его ценность для боба, которая является целым положительным числом. алиса обижена на боба и хочет выбрать свои призы так, чтобы суммарная ценность призов, которые достанутся бобу, была как можно меньше. при этом алису не волнует, какие призы достанутся ей.
требуется написать программу, которая по информации о ценности призов и значению k определит, для какого минимального значения x алиса сможет добиться того, чтобы боб не смог выбрать призы с суммарной ценностью больше x.
формат входного файла
первая строка входного файла содержит два целых числа: n — общее количество призов и k — количество подряд идущих номеров призов, которое должен выбрать каждый из победителей (3 ≤ n ≤ 100 000, 1 ≤ k ≤ n / 3). вторая строка содержит n целых положительных чисел: a1, a2, …, an. для каждого приза указана его ценность для боба (1 ≤ ai ≤ 109 ).
формат выходного файла
выходной файл должен содержать одно число — минимальное значение x, для которого алиса сможет добиться того, чтобы боб не смог выбрать призы с суммарной ценностью больше x.
пример
ввод:
10 2
1 2 4 5 2 4 2 2 1 6
вывод:
7
на питоне
s: string;
a, b: integer;
begin
readln(s);
if s[1] = 'x' then begin
a := StrToInt(s[3]);
b := StrToInt(s[5]);
if s[2] = '-' then a := -a;
writeln(b - a);
end
else if s[3] = 'x' then begin
a := StrToInt(s[1]);
b := StrToInt(s[5]);
if s[2] = '-' then begin
a := -a;
b := -b;
end;
writeln(b - a);
end
else if s[5] = 'x' then begin
a := StrToInt(s[1]);
b := StrToInt(s[3]);
if s[2] = '-' then
b := -b;
writeln(a + b);
end
end.
учтите что никакой защиты от дурака или неверного ввода
var s:string; m1,m2,m3:integer;
begin
writeln('- Привет! Я компьютер, а как тебя зовут?');
write('- '); readln(s);
writeln('- ',s,', введи свои оценки по 3 предметам');
write('- '); readln(m1,m2,m3);
writeln('- ',s,', твой средний ', (m1+m2+m3)/3);
end.
Пример:
- Привет! Я компьютер, а как тебя зовут?
- Алёна
- Алёна, введи свои оценки по 3 предметам
- 4 4 4
- Алёна, твой средний 4
2.
var a,b:integer;
begin
write('a = '); readln(a);
b:=(a div 100)*100 + (a mod 10)*10 + (a div 10 mod 10);
writeln('b = ',b);
end.
Пример:
a = 123
b = 132