Cod sursa(job #1280986)
| Utilizator | Data | 2 decembrie 2014 19:11:02 | |
|---|---|---|---|
| Problema | Ordine | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.43 kb |
# include <bits/stdc++.h>
using namespace std;
ifstream fi("ordine.in");
ofstream fo("ordine.out");
const int nmax = 1e6 + 5;
char c[nmax];
int s[35];
inline char get(char a)
{
for (char i=0;i<26;++i) if (i!=a && s[i]) return --s[i],i;
}
int main(void)
{
fi>>(c+1);
int n=strlen(c+1),t=26;
for (int i=1;c[i];++i) ++s[c[i]-'a'];
for (int i=1;i<=n;++i) fo << char((t=get(t))+'a');
return fo << '\n',0;
}
