147002025-01-28 16:13:39KristófVáltakozó (75 pont)cpp17Time limit exceeded 69/75600ms6596 KiB
#include <iostream>
#include <string>
#include <map>

using namespace std;
char nbc(map<char,int> kar,char e,char p)
{
for(auto x:kar)
    {
    if(e!=p && p!='~')
        {
        return p;
        }
    if(x.first!=e)
        {
        return x.first;
        }
    }
    return 'Ö';

}
char sip(map<char,int>kar,int size)
{

for(auto x : kar)
    {
    //cout<<kar.size()<<"       ";
    //cout<<x.second<<" "<<size<<" sip second ";
    if((x.second*2)-1==size)
        {
        return x.first;
        }
    }
    return '~';

}



int main()
{
    string a;
    cin>>a;
    char p='~';
    int m=a.size();
    map <char,int>kar;
    for(int i=0;i<a.size();i++)
        {
        kar[a[i]]++;
        }
    char e='F';
    while(kar.size()!=0)
        {
        if(sip(kar,m)!='~')
            {
            p=sip(kar,m);
            }
        e=nbc(kar,e,p);
        if(e=='Ö')
            {
            cout<<"-1";
            return 0;
            }
        else
            {
            cout<<e;
            kar[e]--;
            m--;
            }
        if(kar[e]==0)
            {
            kar.erase(e);
            }
        }

    return 0;
}
SubtaskSumTestVerdictTimeMemory
base69/75
1Accepted0/01ms316 KiB
2Accepted0/02ms316 KiB
3Accepted3/31ms316 KiB
4Accepted3/31ms508 KiB
5Accepted3/31ms316 KiB
6Accepted3/31ms316 KiB
7Accepted3/34ms384 KiB
8Accepted3/345ms732 KiB
9Time limit exceeded0/3600ms6596 KiB
10Time limit exceeded0/3600ms6340 KiB
11Accepted3/33ms500 KiB
12Accepted3/33ms316 KiB
13Accepted3/33ms500 KiB
14Accepted3/32ms500 KiB
15Accepted3/3185ms708 KiB
16Accepted3/3219ms736 KiB
17Accepted3/3231ms708 KiB
18Accepted3/3252ms708 KiB
19Accepted3/3259ms708 KiB
20Accepted3/3270ms708 KiB
21Accepted3/3273ms752 KiB
22Accepted6/6273ms708 KiB
23Accepted6/6275ms748 KiB
24Accepted6/6279ms720 KiB