Я прошу только алгоритм, которым пользоваться
Как вариант:
lt find_way(lt n,vector<lt>& pt){
if(n == 1) return 0;
lt b = 0;
lt i = 0;
lt j = 0;
lt k = 0;
lt left = 0;
lt right = 0;
while(b != n){
// print(pt);
i = find_min(pt); //index
j = find_max(pt);
if(i != j){
pt[j]--;
if(i < j){
j--;
}
else{
j++;
}
pt[j]++;
swap(left,right);
if(left == pt[i] && right == pt[j]){
return -1;
}
}
else{
return k;
}
left = pt[i];
right = pt[j];
k++;
b = proverka(pt); //counting p[0] == p[i]
}
return k;
}
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники