Cod sursa(job #2296104)

Utilizator Moise_AndreiMoise Andrei Moise_Andrei Data 4 decembrie 2018 13:25:55
Problema Ordine Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <bits/stdc++.h>
using namespace std;
ifstream in("ordine.in");
ofstream out("ordine.out");
int fr[30];
char s[1000005], v[1000005], ant = 'a';
int main()
{
    in >> s;
    for(int i = 0; i < strlen(s); i++)
        fr[s[i] - 'a']++;
    for(int i = 0; i < strlen(s); i++)
    {
        int t = 'a';
        for(int j = 0; j < 26; j++)
            if((fr[j] > 0 && j + 'a' != ant && t == 0) || (fr[j] >= (strlen(s) - i) / 2 + 1 && j + 'a' != ant))
                t = j + 'a';
        fr[t - 'a']--;
        v[i] = t;
        ant = t;
    }
    out << v;
    return 0;
}