CSES - HIIT Open 2017 - Results
Submission details
Task:Dynamic duo
Sender:Kanadan virallinen maajoukkue
Submission time:2017-05-27 11:37:15 +0300
Language:C++
Status:READY
Result:ACCEPTED
Test results
testverdicttime
#1ACCEPTED0.04 sdetails
#2ACCEPTED0.09 sdetails
#3ACCEPTED0.05 sdetails
#4ACCEPTED0.05 sdetails
#5ACCEPTED0.06 sdetails
#6ACCEPTED0.05 sdetails
#7ACCEPTED0.04 sdetails
#8ACCEPTED0.04 sdetails
#9ACCEPTED0.05 sdetails
#10ACCEPTED0.05 sdetails
#11ACCEPTED0.03 sdetails
#12ACCEPTED0.04 sdetails
#13ACCEPTED0.07 sdetails
#14ACCEPTED0.06 sdetails
#15ACCEPTED0.04 sdetails
#16ACCEPTED0.04 sdetails
#17ACCEPTED0.05 sdetails
#18ACCEPTED0.05 sdetails
#19ACCEPTED0.05 sdetails
#20ACCEPTED0.05 sdetails
#21ACCEPTED0.07 sdetails
#22ACCEPTED0.05 sdetails
#23ACCEPTED0.03 sdetails
#24ACCEPTED0.05 sdetails
#25ACCEPTED0.05 sdetails
#26ACCEPTED0.04 sdetails
#27ACCEPTED0.04 sdetails
#28ACCEPTED0.05 sdetails
#29ACCEPTED0.08 sdetails
#30ACCEPTED0.05 sdetails
#31ACCEPTED0.04 sdetails
#32ACCEPTED0.04 sdetails
#33ACCEPTED0.06 sdetails
#34ACCEPTED0.04 sdetails
#35ACCEPTED0.07 sdetails
#36ACCEPTED0.05 sdetails
#37ACCEPTED0.05 sdetails
#38ACCEPTED0.02 sdetails
#39ACCEPTED0.05 sdetails
#40ACCEPTED0.05 sdetails
#41ACCEPTED0.05 sdetails
#42ACCEPTED0.05 sdetails
#43ACCEPTED0.03 sdetails
#44ACCEPTED0.12 sdetails
#45ACCEPTED0.11 sdetails
#46ACCEPTED0.10 sdetails
#47ACCEPTED0.15 sdetails

Compiler report

input/code.cpp: In function 'int main()':
input/code.cpp:11:29: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i=0; i<s.length(); i++)
                             ^
input/code.cpp:12:17: warning: array subscript has type 'char' [-Wchar-subscripts]
         cnt[s[i]]++;
                 ^
input/code.cpp:18:17: warning: array subscript has type 'char' [-Wchar-subscripts]
         if(cnt[c]>0)
                 ^
input/code.cpp:19:36: warning: array subscript has type 'char' [-Wchar-subscripts]
             pq.push(make_pair(cnt[c],c));
                                    ^

Code

#include<iostream>
#include<queue>

using namespace std;

int cnt[256];

int main(){
    string s;
    cin>>s;
    for(int i=0; i<s.length(); i++)
        cnt[s[i]]++;
        
    string a,b;
    priority_queue<pair<int, char>> pq;
    
    for(char c='A'; c<='Z'; c++)
        if(cnt[c]>0)
            pq.push(make_pair(cnt[c],c));
    
    while(pq.size()){
        if(pq.size()==1){
            cout<<-1<<endl;
            return 0;
        }
        
        pair<int,char> p1,p2;
        p1=pq.top();
        pq.pop();
        p2=pq.top();
        pq.pop();
        
        a+=p1.second;
        b+=p2.second;
        
        p1.first--;
        p2.first--;
        
        if(p1.first>0)
            pq.push(p1);
        if(p2.first>0)
            pq.push(p2);
    }
    
    
    cout<<a<<endl;
    cout<<b<<endl;
    return 0;
}

Test details

Test 1

Verdict: ACCEPTED

input
BA

correct output
A
B

user output
B
A

Test 2

Verdict: ACCEPTED

input
AA

correct output
-1

user output
-1

Test 3

Verdict: ACCEPTED

input
CAAB

correct output
AA
BC

user output
AB
CA

Test 4

Verdict: ACCEPTED

input
BABA

correct output
AA
BB

user output
BB
AA

Test 5

Verdict: ACCEPTED

input
BBCCAA

correct output
AAB
BCC

user output
CAB
BCA

Test 6

Verdict: ACCEPTED

input
AAAB

correct output
-1

user output
-1

Test 7

Verdict: ACCEPTED

input
BAABAC

correct output
AAA
BBC

user output
AAB
BCA

Test 8

Verdict: ACCEPTED

input
ABABAB

correct output
AAA
BBB

user output
BBB
AAA

Test 9

Verdict: ACCEPTED

input
BCBACAAB

correct output
AAAB
BBCC

user output
BCAB
ABCA

Test 10

Verdict: ACCEPTED

input
AAAA

correct output
-1

user output
-1

Test 11

Verdict: ACCEPTED

input
AABCAA

correct output
-1

user output
-1

Test 12

Verdict: ACCEPTED

input
AAABBA

correct output
-1

user output
-1

Test 13

Verdict: ACCEPTED

input
BBAACCAA

correct output
AAAA
BBCC

user output
AAAB
CBCA

Test 14

Verdict: ACCEPTED

input
ABAACBBA

correct output
AAAA
BBBC

user output
AAAB
BBCA

Test 15

Verdict: ACCEPTED

input
BBCCABAAAC

correct output
AAAAB
BBCCC

user output
ABCAB
CABCA

Test 16

Verdict: ACCEPTED

input
BAAABABB

correct output
AAAA
BBBB

user output
BBBB
AAAA

Test 17

Verdict: ACCEPTED

input
CBBACABBAA

correct output
AAAAB
BBBCC

user output
BBCAB
AABCA

Test 18

Verdict: ACCEPTED

input
BCACBAACBABC

correct output
AAAABB
BBCCCC

user output
CABCAB
BCABCA

Test 19

Verdict: ACCEPTED

input
AAAABA

correct output
-1

user output
-1

Test 20

Verdict: ACCEPTED

input
BAAAACBA

correct output
-1

user output
-1

Test 21

Verdict: ACCEPTED

input
BBAAAABA

correct output
-1

user output
-1

Test 22

Verdict: ACCEPTED

input
BAACCBABAA

correct output
AAAAA
BBBCC

user output
AAAAB
BCBCA

Test 23

Verdict: ACCEPTED

input
BABACAABAB

correct output
AAAAA
BBBBC

user output
AAAAB
BBBCA

Test 24

Verdict: ACCEPTED

input
CCAABBABCBAA

correct output
AAAAAB
BBBCCC

user output
AABCAB
BCABCA

Test 25

Verdict: ACCEPTED

input
AABBAAABBB

correct output
AAAAA
BBBBB

user output
BBBBB
AAAAA

Test 26

Verdict: ACCEPTED

input
BABAACACBBAB

correct output
AAAAAB
BBBBCC

user output
BBBCAB
AAABCA

Test 27

Verdict: ACCEPTED

input
AABBBCCABCABAC

correct output
AAAAABB
BBBCCCC

user output
BCABCAB
ABCABCA

Test 28

Verdict: ACCEPTED

input
AAAAAA

correct output
-1

user output
-1

Test 29

Verdict: ACCEPTED

input
AABACAAA

correct output
-1

user output
-1

Test 30

Verdict: ACCEPTED

input
BAAABAAA

correct output
-1

user output
-1

Test 31

Verdict: ACCEPTED

input
ABAABAACAC

correct output
-1

user output
-1

Test 32

Verdict: ACCEPTED

input
AAAABACBBA

correct output
-1

user output
-1

Test 33

Verdict: ACCEPTED

input
BABCCBAACAAA

correct output
AAAAAA
BBBCCC

user output
AAAAAB
CBCBCA

Test 34

Verdict: ACCEPTED

input
BBBAAAABAA

correct output
-1

user output
-1

Test 35

Verdict: ACCEPTED

input
ABBABBAAACCA

correct output
AAAAAA
BBBBCC

user output
AAAAAB
BBCBCA

Test 36

Verdict: ACCEPTED

input
BCACABBACACABA

correct output
AAAAAAB
BBBCCCC

user output
AAABCAB
CBCABCA

Test 37

Verdict: ACCEPTED

input
BAABCBAAAABB

correct output
AAAAAA
BBBBBC

user output
AAAAAB
BBBBCA

Test 38

Verdict: ACCEPTED

input
ABBAACCABBCABA

correct output
AAAAAAB
BBBBCCC

user output
AAABCAB
BBCABCA

Test 39

Verdict: ACCEPTED

input
ABCACCBABBAACABC

correct output
AAAAAABB
BBBCCCCC

user output
ABCABCAB
CABCABCA

Test 40

Verdict: ACCEPTED

input
ABBBAAABBABA

correct output
AAAAAA
BBBBBB

user output
BBBBBB
AAAAAA

Test 41

Verdict: ACCEPTED

input
AAACAABBCABBBB

correct output
AAAAAAB
BBBBBCC

user output
BBBBCAB
AAAABCA

Test 42

Verdict: ACCEPTED

input
BCBBBCAABABCCAAA

correct output
AAAAAABB
BBBBCCCC

user output
BBCABCAB
AABCABCA

Test 43

Verdict: ACCEPTED

input
BBCBAABACCCBAACACB

correct output
AAAAAABBB
BBBCCCCCC

user output
CABCABCAB
BCABCABCA

Test 44

Verdict: ACCEPTED

input
BBABBABABAABAAABBAAABBBBBBAABB...

correct output
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...

user output
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB...

Test 45

Verdict: ACCEPTED

input
AAAABABABBBBABAABBBABBBBBABBAB...

correct output
-1

user output
-1

Test 46

Verdict: ACCEPTED

input
ABBBAABAABAAABBAAAAABBBABAAAAB...

correct output
-1

user output
-1

Test 47

Verdict: ACCEPTED

input
XOQPQRNTLADFTEQSZYBMIRXWHSQDCM...

correct output
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...

user output
QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ...