Я просто читаю строку цифр char по символам, пока не введем '\ n'.
vector <char> pay;
vector <char> :: iterator p;
char x;
char maxdigit;
if(flag==1)
{
cin.ignore(); // to ignore the first enter key press, after the test case
flag=0;
}
for(long long int i=0; ; i++)
{
cin.get(x); // The >> operator doesn't detect the ENTER key, so the loop won't end
if(x=='\n')
break;
pay.push_back(x);
}
Нахождение максимального ди git или лучшего ди git для удаления, так чтобы минимизировать введенное число.
if(pay[1]=='0')
{
pay.erase(pay.begin());
while(pay[0]=='0')
pay.erase(pay.begin());
}
else
{
maxdigit=*max_element(pay.begin(),pay.end());
p = find(pay.begin(),pay.end(),maxdigit);
pay.erase(p);
}
Но я получаю ошибку sigsegv, любая помощь будет оценена.