Cod sursa(job #2582108)

Utilizator ililogIlinca ililog Data 16 martie 2020 13:35:01
Problema Ordine Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.98 kb
using namespace std;
#include<bits/stdc++.h>

ifstream fin("ordine.in");
ofstream fout("ordine.out");

char s[1000001];
int l;
int nrramase;   
char ultimul;

map<char, int> lit;

int main() {
    
    fin >> s;
    
    l = strlen(s);
    
    for (int i = 0; i<l; i++) {
        lit[s[i]] = lit[s[i]] + 1;
        nrramase++;
    }
        
    auto j = lit.begin();
    
    ultimul = j->first;
    
    fout << ultimul;
    
    lit[ultimul]--;
    nrramase--;
    
    
    while (nrramase > 0) {
        
        for (auto i = lit.begin(); i != lit.end(); i++) {
            
            if (ultimul != i->first && lit[i->first] > 0) {
                fout << i->first;
                
                nrramase--;
                lit[i->first]--;
                
                ultimul = i->first;
                break;
                
            }

        }
        
    }
    
    fin.close();
    fout.close();

    return 0;
}