Cod sursa(job #672990)

Utilizator DEYDEY2Tudorica Andrei DEYDEY2 Data 3 februarie 2012 17:14:56
Problema Ordine Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.43 kb
#include<iostream>
#include<fstream>
#include<string.h>
using namespace std;
int y[27];
char x[1000001];
int main ()
{
	int n,i,m,j,d;
	ifstream f("ordine.in");
	ofstream g("ordine.out");
	f>>x;
	n=strlen(x)-1;
	for(i=0;i<=n;i++) 
		y[x[i]-97]++;
	n++;
	m=-1;
	for(i=1;i<=n;i++) {
		d=0;
		for(j=0;j<=26;j++) if(((m!=j) && (y[j]) && (d==0)) || (y[j]>=(n-i+1)/2+1)) {m=j;d=1;}
		g<<char(m+97);
		y[m]--;
	}
	f.close();
	g.close();
	return 0;
}