Cod sursa(job #2712799)

Utilizator PredescuSebastianIonPredescu Sebastian Ion PredescuSebastianIon Data 26 februarie 2021 15:42:24
Problema Ordine Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <bits/stdc++.h>

using namespace std;
ifstream f("ordine.in");
ofstream g("ordine.out");
int frecv[30];
string ch,sol;
int main()
{
    f>>ch;
    for(int i=0; i<ch.size(); i++)
    {
        frecv[ch[i]]++;
    }
    for(int i=0; i<ch.size(); i++)
    {
        int nr=0,poz=0;
        for(int j='a'; j<='z'; j++)
        {
            if(frecv[j]>nr)
            {
                nr=frecv[j];
                poz=j;
            }
        }
        if(nr>(ch.size()-i)/2)
        {
            sol+=poz;
            frecv[poz]--;
            continue;
        }
        for(int j='a'; j<='z'; j++)
        {
            if((sol==" " || j!=sol[sol.size()-1]) && frecv[j]>0)
            {
                sol+=j;
                frecv[j]--;
                break;
            }
        }
    }
    g<<sol<<'\n';
    return 0;
}