Cod sursa(job #2847924)

Utilizator adelinapetreAdelina Petre adelinapetre Data 11 februarie 2022 19:26:02
Problema Ordine Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <fstream>
#include <algorithm>
#include <cstring>
using namespace std;
ifstream cin("ordine.in");
ofstream cout("ordine.out");
int f[30];
char s[1000005],ch;
int main()
{
    int n,nr,trec,p,i,j;
    cin.getline(s,1000001);
    n=strlen(s);
    for(i=0; i<n; i++)
        f[s[i]-'a']++;
    trec=-1;
    for(i=0; i<n; i++)
    {
        p=-1;
        for(j=0; j<26; j++)
            if(((f[j]>0 && p<0) || (f[j]>=(n-i)/2+1 && trec!=j)) && j!=trec)
                p=j;
        cout<<(char)(p+'a');
        trec=p;
        f[p]--;
    }
    return 0;
}