Задача A. Крутой подарок
Имя входного файла: стандартный ввод
Имя выходного файла: стандартный вывод
Ограничение по времени: 1 секунда
Ограничение по памяти: 256 мегабайт
У Темирлана недавно был день рождения. Из его друзей самый оригинальный подарок решил
сделать его друг, Айсултан. Айсултан знает, что Темирлан любит крутые числа. Число называется
крутым, если оно является квадратом целого числа. Например, 0, 9, 121 — крутые числа; а 50, 3,
12 — не крутые числа.
В распоряжении Айсултана есть последовательность из n целых чисел — a1, a2, a3, ..., an. Чтобы
сообразить подарок, Айсултан берет два числа из этой последовательности aj и ai таких, что j < i
и если число aj ∗ ai является крутым, то он подарит произведение этих двух чисел Темирлану понять Айсултану, сколькими он может это сделать. Формально, найдите
количество пар чисел (aj , ai) таких, что j < i и произведение aj ∗ ai является крутым числом.
Формат входных данных
Первая строка входных данных содержит одно число n — размер последовательности Айсултана
(1 ⩽ n ⩽ 103
).
Вторая строка входных данных содержит n целых чисел a1, a2, a3, ..., an через пробел — последовательность
Айсултана (−1000 ⩽ ai ⩽ 1000).
Формат выходных данных
В единственной строке выведите одно число — ответ на задачу.
Примеры
стандартный ввод стандартный вывод
4
1 0 1 1
6
2
-8 -2
1
3
1 16 4
3
1
0
0
Замечание
Данная задача содержит 3 подзадачи.
1. 0 ⩽ ai ⩽ 1 для всех 1 ⩽ i ⩽ n.
2. n = 2, −1000 ⩽ ai ⩽ 1000.
3. Ограничения из условия.
В первом примере всего существует 6 пар чисел и все они являются квадратами числа 0 или 1.
Во втором примере единственная пара при произведении дает 16, что является квадратом целого
числа.
В третьем примере все три пары (1, 16), (1, 4), (16, 4) в произедении дают квадрат целого числа.
В четвертом примере нет пар.
Черный ящик( в информатике) - система, внутреннее устройство которой неизвестно. То есть, мы имеем общее представление о том, что делает эта система, какую информацию на вход нужно подать и то, что система должна вывести, при этом не знаем как она это делает(механизм работы данной системы неизвестен).
Примеры подобной системы:
Любые технические устройства для обычного человека являются тем самым "черным ящиком". Известно, для чего они предназначены, но как они выполняют свою функцию - неизвестно.
Для человека, который не является программистом, любая программа на компьютере - "черный ящик".
В программировании один из примеров черного ящика - вызов функции из библиотеки с неизвестным исходным кодом. Известно, как вызвать эту функцию, известен формат входных и выходных данных, а по какому алгоритму действует функция - неизвестно.
var
s, ss: string;
ls, lss, i, j: integer;
flag: boolean;
begin
readln(s);
readln(ss);
i := 1;
ls := Length(s);
lss := Length(ss);
flag := false;
while i <= ls - lss + 1 do
begin
if s[i] = ss[1] then
begin
flag := true;
for j := 1 to lss - 1 do
if s[i + j] <> ss[j + 1] then
begin
i := i + j;
flag := false;
break
end;
if flag then
begin
write('является');
exit;
end;
end;
i += 1;
end;
write('не является');
end.