Cod sursa(job #2374646)
| Utilizator | Data | 7 martie 2019 19:47:53 | |
|---|---|---|---|
| Problema | Ordine | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.54 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream f("ordine.in");
ofstream g("ordine.out");
char s[1000010], ch;
int N, fr[30], nr, ant, p;
int main()
{
f.getline(s,1000001);
N=strlen(s);
for(int i=0; i<N; i++)
fr[s[i]-'a']++;
ant=-1;
for(int l=0; l<N; l++)
{
p=-1;
for(int i=0; i<26; i++)
if(((fr[i]>0 && p<0)||(fr[i]>=(N-l)/2+1 && ant!=i)) && i!=ant)
p=i;
g<<char(p+'a');
ant=p;
fr[p]--;
}
g<<'\n';
return 0;
}
