составить краткий алгоритм по этому коду
using namespace std;
int main() {
int n;
cin>>n;
int arr[n+1];
int p{};
while(cin>>arr[++p]);
int s{};
for(int i=1;i<=n;i++){
int x=arr[i];
int count=1;
while(x!=-1){
count++;
x=arr[x];
}
s=max(count,s);
}
cout< return 0;
#include <algorithm>
#include <array>
#include <iostream>
int main()
{
std::array<int, 6> arr{ 13, 90, 99, 5, 40, 80 };
std::cout « "Enter a value to search for and replace with: ";
int search{};
int replace{};
std::cin » search » replace;
// Проверка пользовательского ввода должна быть здесь
// std::find() возвращает итератор, указывающий на найденный элемент (или на конец контейнера).
// Мы сохраним его в переменной, используя автоматический вывод типа итератора
auto found{ std::find(arr.begin(), arr.end(), search) };
// Алгоритмы, которые не нашли то, что искали, возвращают итератор, указывающий на конец контейнера.
// Мы можем получить доступ к этому итератору, используя метод end()
if (found == arr.end())
{
std::cout « "Could not find " « search « '\n';
}
else
{
// Перезаписываем найденный элемент
*found = replace;
}
for (int i : arr)
{
std::cout « i « ' ';
}
std::cout « '\n';
return 0;
}