Cod sursa(job #1837561)

Utilizator badea_adi1999Badea Adrian Catalin badea_adi1999 Data 29 decembrie 2016 21:41:00
Problema Ordine Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include <fstream>
#include <cstring>
#define nmax 1000005
#define teta 26
using namespace std;
ifstream f("ordine.in");
ofstream g("ordine.out");
int n,i,j,v[teta];
char s[nmax],k[nmax],c,t;

int main()
{
    f>>s;
    n=strlen(s);
    for (i=0;i<n;i++)
        v[s[i]-'a']++;
    for (i=0;i<n;i++) {
        t=0;
        for (j=0;j<26;j++)
            if ((v[j]&&j+'a'!=c&&t==0)||(v[j]>=(n-i)/2+1&&j+'a'!=c))
                t=j+'a';
        v[t-'a']--;
        k[i]=t;
        c=t;
    }
    g<<k;
}