Cod sursa(job #251099)

Utilizator mihaipoascaPoasca Mihai mihaipoasca Data 1 februarie 2009 21:28:07
Problema Ordine Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include<fstream>
using namespace std;

ifstream fin("ordine.in");
ofstream fout("ordine.out");

int N,A['z'];

int main(){

    char x;
    while(fin>>x)
        ++A[x],++N;

    for(int i=1;i<=N;i++){
        int j;
        int max=0;
        for(j='z';j>='a';j--)
            if(A[j]){
                x=j;
                if(A[j]>A[max])
                    max=j;
            }
        if(A[max]==(N-i+1)/2+1){
            A[max]=0;
            for(int j='a';j<='z';j++)
                for(int k=1;k<=A[j];k++)
                    fout<<(char)max<<(char)j;
            fout<<(char)max;
            break;
        }
        else{
            fout<<(char)x;
            A[x]--;
        }
    }

    fout<<"\n";
    fin.close();
    fout.close();
    return 0;



}