Всем привет ! Есть такая задача она проходит 50%. Помогите пожалуйста найти мою ошибку ,ни как не могу найти ! Вот задача :
Целое число A содержит не более 1000 десятичных цифр. Обозначим через B и C соответственно максимальное и минимальное из чисел, составленных из цифр A. Числа B и С должны иметь тот же знак, что и A. Найдите разность между B и C.
Входные данные
В единственной строке находится десятичная запись числа A.
Выходные данные
В одной строке искомая разностью.
Пример входных данных
418
Пример выходных данных
693
Пример входных данных
-1032
Пример выходных данных
2187
Пример входных данных
8814
Пример выходных данных
7353
Мой код :
#include <bits/stdc++.h>
#define MAXN 200010
using namespace std;
long long sto_int(string s)
{
stringstream ss(s);
long long n;
ss >> n;
return n;
}
bool sorthus(char i, char j)
{
return (i > j);
}
int main()
{
string cis, cis2, cis3;
char temp;
cin >> cis;
cis3 = cis;
sort(cis3.begin(), cis3.end());
long long cnt = 0;
for (long long i = 0; i < cis3.size(); i++)
{
if (cis3[i] == '0')cnt++;
}
if (cis3[0] == '-')
{
if (cis3[1] == '0')
{
swap(cis3[1], cis3[1 + cnt]);
}
}
else
{
if (cis3[0] == '0')
{
swap(cis3[0], cis3[0 + cnt]);
}
}
cis2 = cis3;
if (cis[0] == '-')
{
sort(cis2.begin() + 1, cis2.end(), sorthus);
}
else
{
sort(cis2.begin(), cis2.end(), sorthus);
}
long long cis22 = sto_int(cis2);
long long cis33 = sto_int(cis3);
if (cis22 < 0)cout << cis33 - cis22 << endl;
else cout << cis22 - cis33 << endl;
cout << cis33 << " " << cis22 << endl;
cout << cis3 << endl;
return 0;
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Кодирую программку для CRC разных стандартов(побитовая обработка) Застрял на параметре init
Программа компилируется, но при запуске и вводе первого значения вылетает ошибкаВ чем проблема понять не могу
Могут ли функции scanf и printf работать с переменными типа string? Если да, то как это сделать, например, в данном коде?
UB вряд ли (хотя пусть это подтвердят гуру в стандартах), но вот огрести так неприятностей - запростоПредставим, что Test запрашивает какой-то...