Cod sursa(job #1639593)
Utilizator | Data | 8 martie 2016 12:56:42 | |
---|---|---|---|
Problema | Ordine | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.86 kb |
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream f("ordine.in");
ofstream g("ordine.out");
int t[26]={0},i,j,n=0,ok,k,sajt;
char betu,elozo=0;
f>>betu;
while(!f.eof())
{
t[betu-'a']++;
n++;
f>>betu;
}
for(i=0;i<n;i++)
{
sajt=0;
for(j=0;j<26&&sajt!=1;j++)
{
if(t[j]!=0&&j+'a'!=elozo)
{
t[j]--;
ok=1;
for(k=0;k<26;k++)
if(t[k]>(n-i)/2)
ok=0;
if(ok==1)
{
g<<(char)(j+'a');
elozo=j+'a';
sajt=1;
}
else
t[j]++;
}
}
}
f.close();
g.close();
}