Cod sursa(job #658381)
Utilizator | 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;
}