Айбара есть сад, который состоит из K подряд идущих грядок. В саду живут n кроликов. Каждый кролик находится в одной из грядок. Иногда кролики могут переходить в соседние грядки. Также, иногда Айбару нужно узнать количество кроликов, которые находятся на каком-то отрезке,
чтобы их покормить. Айбару дано q запросов, которые надо обработать. Они бывают следующих
типов:
• Кролик номер x (1 6 x 6 n) перешел на одну грядку налево или направо. При этом гарантируется, что кролик не выйдет за пределы сада
• Посчитать количество кроликов на отрезке от грядки l до грядки r (1 6 l 6 r 6 K) включительно.
Формат входных данных
В первой строке входных данных даны два числа - n и K.
Далее во второй строке указаны n чисел - изначальное положение каждого кролика.
Затем в отдельной строке следует число q и q строк описывающих запросы. Запросы задаются в
следующем формате:
• L x - сдвинуть кролика номер x на одну грядку налево
• R x - сдвинуть кролика номер x на одну грядку направо
• G l r - Посчитать и вывести количество кроликов на отрезке от грядки l до грядки r включительно.
Формат выходных данных
В выходные данные выведите по одному числу для каждого запроса третьего типа в отдельной
строке.
можно решение с python
1)
var i,n:integer; a:array[1..100]of integer;
begin
write('Введите размер массива: '); readln(n);
writeln('Введите значения элементов массива, разделяя их пробелами');
for i:=1 to n do read(a[i]); readln;
for i:=1 to n do write(a[ i]:8); writeln;
for i:=n downto 1 do write(a[i]:8); writeln;
writeln('Для выхода нажмите Enter'); readln
end.
2)
var i,n:integer; a:array[1..100]of integer;
begin
write('Введите размер массива: '); readln(n);
writeln('Введите значения элементов массива, разделяя их пробелами');
for i:=1 to n do read(a[ i]); readln;
for i:=1 to n do if a[i]<0 then write(i:2,a[i]:8); writeln;
writeln('Для выхода нажмите Enter'); readln
end.
3)
var i,n:integer; a:array[1..100]of integer;
begin
write('Введите размер массива: '); readln(n);
writeln('Введите значения элементов массива, разделяя их пробелами');
for i:=1 to n do read(a[i]); readln;
for i:=1 to n do if not odd(i) then write(a[i]:8); writeln;
writeln('Для выхода нажмите Enter'); readln
end.
4)
var i,n,s:integer; a:array[1..100]of integer;
begin
write('Введите размер массива: '); readln(n);
writeln('Введите значения элементов массива, разделяя их пробелами');
for i:=1 to n do read(a[i]); readln;
for i:=1 to n do write(a[i]:8); writeln;
s:=0; for i:=1 to n do s:=s+a[i]; writeln('Sum=',s); ;
writeln('Для выхода нажмите Enter'); readln
end.
Объяснение:
Переменные — контейнеры для хранения изменяемых данных. Без них не обходится практически ни одна программа. Для переменную можно сравнить с номерком в гардеробе — вы сдаете в "гардероб" какие-то данные, в ответ вам выдается номерок. Когда вам опять потребовались эти данные, вы "предъявляете номерок" и получаете их. Пример работы с переменными в VBA может выглядеть так:
Dim nMyAge As Integer
nMyAge = nMyAge + 10
MsgBox nMyAge
Перед работой с переменной настоятельно рекомендуется ее объявить. Объявление переменной в нашем примере выглядит так:
Dim nMyAge As Integer
Как расшифровать эту строку:
Dim — это область видимости переменной. В VBA предусмотрено 4 ключевых слова для определения области видимости переменных: