Решение задачи Странная лотерея с Acmp

Без пояснения   Просмотров: 58


В честь успешного окончания первой четверти родители Пети и Вовы подарили им один лотерейный билет. Как обычно, ребята всерьез не восприняли данный подарок ввиду довольно скудной вероятности выигрыша по их мнению. Но каково было удивление братьев, когда они узнали из средств массовой информации, что номер их билета является выигрышным.

После продолжительных минут радости ребята бросились узнавать сумму выигрыша, но как оказалось, узнать это не так уж просто. Дело в том, что сумма выигрыша отчасти определяется самим владельцем или владельцами (если их несколько) следующим образом. На обратной стороне билета есть определенная секция, стерев слой защитного покрытия, можно увидеть целое положительное число N. После чего, каждый из владельцев билета должен зачеркнуть ровно по одной цифре данного числа N, полученное число и является суммой выигрыша.
Максимальное число, которое может быть получено из данного N посредством вычеркивания двух цифр является 9955. Помогите Пете и Вове в этой непростой, но очень актуальной для них задачей.

Код

#include <iostream>
#include <string>
 
using namespace std;
 
int main()
{
    string s,s1;
    cin >> s;
    int k = 0, ii = 0;
    for(int i = 0; i < s.size(); ++i){
        if(s[i] < s[i + 1]){
            k++;
            s.erase(i,1);
            i = 0;
        }
        if(k==2){
            cout << s;
            return 0;
        }
    }
    if(s.size() == 2){
        if(s[0] < s[1])
            s.erase(0,1);
        else
            s.erase(s.size() - 1);
        cout << s;
        return 0;
    }
    if(k == 0)
        s.erase(s.size() - 2);
    if(k == 1)
        s.erase(s.size() - 1);
    cout << s;
    return 0;
}

         

Администратор Photo Автор: Администратор




Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться