Задача 3: Конструктор Сереже на первое сентября подарили магнитный конструктор, состоящий из брусков разной длины, которые могут соединяться концами друг с другом. В подарочном наборе все бруски уложены в порядке неубывания длины, причем бруски могут иметь одинаковую длину — это очень важно для Серёжи, потому что он будет собирать из брусков равносторонние треугольники для своего большого проекта. Для этого проекта Серёже нужно очень много деталей такой формы, и он хочет понять, сколько всего возможно собрать равносторонних треугольников из конструктора для последующего их одновременного использования в проекте. Размеры треугольников могут быть различными, но все они должны быть равносторонними. Определите, какое максимальное количество равносторонних треугольников можно собрать из конструктора (брусок, использованный в одном треугольнике, уже не может быть использован в другом).
Входные данные
В первой строке входных данных дано целое число n — количество брусков (1 ≤ n ≤ 105). В следующих n строках даны длины брусков конструктора — целые числа от 1 до 109 по одному в строке. Числа даны в неубывающем порядке.
Выходные данные
Требуется вывести одно целое число — максимально возможное число равносторонних треугольников.
Система оценки
Решения, правильно работающие при n ≤ 100, будут оцениваться в
1) Program Massiv1;
Uses Crt;
var k:array[1..12] of real;
i,c:integer;
begin
clrscr;
write('Введите элементы массива k:');
c:=0;
for i:=1 to 12 do
begin
readln(k[i]);
if (k[i]<0) then Inc(c);
end;
writeln;
writeln;
for i:=1 to 12 do write(k[i]:4:4);
writeln;
writeln('Количество элементов <0:',c);
readkey;
end.
2) Program Massiv2;
Uses Crt;
var m:array[1..10] of integer;
i,c:integer;
begin
clrscr;
write('Введите элементы массива m:');
c:=0;
for i:=1 to 10 do
begin
readln(m[i]);
if (m[i]=3) then Inc(c);
end;
writeln;
writeln;
for i:=1 to 12 do write(m[i]:4);
writeln;
writeln('Количество элементов =3:',c);
readkey;
end.
В третьем задании видимо имеется ввиду номер элемента этого массива, т.к по условию задачи массив у нас один.
3) Program Massiv3;
Uses Crt;
var m:array[1..8] of integer;
i,c,max:integer;
begin
clrscr;
write('Введите элементы массива m:');
c:=0;
for i:=1 to 8 do readln(m[i]);
writeln;
writeln;
max:=m[1]
for i:=1 to 8 do
begin
if (m[i]>max) then
begin
max:=m[i];
c:=i
end;
write(m[i]:4);
end;
writeln('Индекс максимального элемента =:',c);
readkey;
end.
4) Program Massiv4;
Uses Crt;
var m:array[1..12] of integer;
i,c,max,sum:integer;
begin
clrscr;
write('Введите элементы массива m:');
c:=0; sum:=0;
for i:=1 to 12 do readln(m[i]);
writeln;
writeln;
max:=m[1]
for i:=1 to 12 do
begin
if (m[i]>max) then
begin
max:=m[i];
c:=i
end;
write(m[i]:4);
end;
for i:=1 to c-1 do sum:=sum+m[i];
writeln('Количество элементов расположенных до max :',с-1);
writeln('Сумма элементов расположенных до max :',sum);
readkey;
end.
В пятом задании видимо имеется ввиду значения элементов массива меньшие чем сумма первого и последнего
5) Program Massiv5;
Uses Crt;
var k:array[1..15] of real;
sum:real;
i,c:integer;
begin
clrscr;
write('Введите элементы массива k:');
c:=0;
for i:=1 to 15 do readln(k[i]);
sum:=k[1]+k[15];
writeln;
writeln;
for i:=1 to 15 do
begin
write(k[i]:4:4);
if (k[i]<sum) tnen Inc(c);
end;
writeln;
writeln('Количество элементов :',c);
readkey;
end.
Объяснение:
Градие́нт (англ. Gradient) — вид заливки в компьютерной графике, которая по заданным параметрам цвета в ключевых точках рассчитывает промежуточные цвета остальных точек. При этом создаются плавные переходы из одного цвета в другой. Обычно в градиенте можно использовать более двух цветов и дополнительно указывать настройки прозрачности и смещения границы цветов.
Кроме того, для удобства обозначения, градиентом часто называют сами цвета отправных точек, относительно которых происходит расчет заливки. При этом слово градиент имеет смысловую окраску «максимальная градация цвета» или «максимальный уклон, отклонение» достигнутое цветом в этой точке.