Cod sursa(job #2374646)

Utilizator vladadAndries Vlad Andrei vladad Data 7 martie 2019 19:47:53
Problema Ordine Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f("ordine.in");
ofstream g("ordine.out");
char s[1000010], ch;
int N, fr[30], nr, ant, p;
int main()
{
    f.getline(s,1000001);
    N=strlen(s);
    for(int i=0; i<N; i++)
        fr[s[i]-'a']++;
    ant=-1;
    for(int l=0; l<N; l++)
    {
        p=-1;
        for(int i=0; i<26; i++)
            if(((fr[i]>0 && p<0)||(fr[i]>=(N-l)/2+1 && ant!=i)) && i!=ant)
                p=i;
        g<<char(p+'a');
        ant=p;
        fr[p]--;
    }
    g<<'\n';
    return 0;
}