Pagini recente » Cod sursa (job #1995697) | Cod sursa (job #1344578) | Cod sursa (job #879409) | Cod sursa (job #1581429) | Cod sursa (job #2327928)
#include <fstream>
#include <algorithm>
#include <cstring>
using namespace std;
ifstream cin("ordine.in");
ofstream cout("ordine.out");
char s[1000010],ch;
int N,FR[30],nr;
struct chestie{
char ch;
int fr;
}v[1000010];
bool ord(chestie A,chestie B)
{
return(A.fr<B.fr||(A.fr==B.fr&&A.ch<B.ch));
}
int main()
{
cin.getline(s,1000001);
N=strlen(s);
for(int i=0;i<N;i++)
v[i].ch=s[i],v[i].fr=++FR[s[i]-'a'];
sort(v,v+N,ord);
for(int i=0;i<N;i++)
cout<<v[i].ch;
cout<<'\n';
return 0;
}