Cod sursa(job #658381)

Utilizator SebiSebiPirtoaca George Sebastian SebiSebi Data 8 ianuarie 2012 18:45:27
Problema Ordine Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.47 kb
#include<iostream>
#include<fstream>
#include<string.h>
using namespace std;
int v[27];
char c[1000001];
int main ()
{
	int n,i,cc,j,nr;
	ifstream f("ordine.in");
	ofstream g("ordine.out");
	f>>c;
	f.close();
	n=strlen(c)-1;
	for(i=0;i<=n;i++) 
		v[c[i]-97]++;
	n++;
	cc=-1;
	j=1;
	nr=n;
	while(n) {
		for(i=0;i<=26;i++)
			if(((cc!=i)&&(v[i]))||((2*v[i]-1)>(n-i)))
				break;
		g<<char(i+97);
		cc=i;
		n--;
		v[i]--;
	}
	g.close();
	return 0;
}