Task: | Sukat |
Sender: | anotn |
Submission time: | 2024-01-20 15:12:42 +0200 |
Language: | C++ (C++17) |
Status: | READY |
Result: | 100 |
group | verdict | score |
---|---|---|
#1 | ACCEPTED | 28 |
#2 | ACCEPTED | 37 |
#3 | ACCEPTED | 35 |
test | verdict | time | group | |
---|---|---|---|---|
#1 | ACCEPTED | 0.00 s | 1, 2, 3 | details |
#2 | ACCEPTED | 0.00 s | 1, 2, 3 | details |
#3 | ACCEPTED | 0.00 s | 1, 2, 3 | details |
#4 | ACCEPTED | 0.00 s | 1, 2, 3 | details |
#5 | ACCEPTED | 0.00 s | 1, 2, 3 | details |
#6 | ACCEPTED | 0.00 s | 1, 2, 3 | details |
#7 | ACCEPTED | 0.00 s | 1, 2, 3 | details |
#8 | ACCEPTED | 0.00 s | 2, 3 | details |
#9 | ACCEPTED | 0.00 s | 2, 3 | details |
#10 | ACCEPTED | 0.00 s | 2, 3 | details |
#11 | ACCEPTED | 0.00 s | 2, 3 | details |
#12 | ACCEPTED | 0.00 s | 2, 3 | details |
#13 | ACCEPTED | 0.00 s | 2, 3 | details |
#14 | ACCEPTED | 0.00 s | 2, 3 | details |
#15 | ACCEPTED | 0.04 s | 3 | details |
#16 | ACCEPTED | 0.01 s | 3 | details |
#17 | ACCEPTED | 0.04 s | 3 | details |
#18 | ACCEPTED | 0.04 s | 3 | details |
#19 | ACCEPTED | 0.04 s | 3 | details |
#20 | ACCEPTED | 0.04 s | 3 | details |
#21 | ACCEPTED | 0.02 s | 3 | details |
Code
#include <iostream> #include <string> #include <vector> #include <set> #include <unordered_map> using namespace std; int main(){ string s; cin >> s; unordered_map<char, int> amounts; for(auto c : s) amounts[c] += 1; set<pair<int, char>> pairs; for(auto p : amounts) pairs.insert({p.second, p.first}); vector<string> ans; while(pairs.size() > 1){ auto left = pairs.begin(); auto right = pairs.end(); right--; if(left == pairs.end() || right == pairs.end()) break; string c; c += left -> second; c += right -> second; ans.push_back(c); pair<int, char> new_left = {left -> first - 1, left -> second}; pair<int, char> new_right = {right -> first - 1, right -> second}; pairs.erase(left); pairs.erase(right); if(new_left.first > 0) pairs.insert(new_left); if(new_right.first > 0) pairs.insert(new_right); } cout << ans.size() << "\n"; for(auto s : ans){ cout << s << "\n"; } }
Test details
Test 1
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
QBAXGXJZJS |
correct output |
---|
5 XJ ZX SQ JG ... |
user output |
---|
5 AX BJ GZ JX ... |
Test 2
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
SSSSSSSSSS |
correct output |
---|
0 |
user output |
---|
0 |
Test 3
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
SETTSESEEE |
correct output |
---|
5 ES ET ES ET ... |
user output |
---|
5 TE TE ES ES ... |
Test 4
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
SSMRSSSSKR |
correct output |
---|
4 SR SR SM SK |
user output |
---|
4 KS MS RS RS |
Test 5
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
BIIILIIRRL |
correct output |
---|
5 IR IL IR IL ... |
user output |
---|
5 BI LI LI IR ... |
Test 6
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
YYGEYTDSTY |
correct output |
---|
5 YT YT YS YG ... |
user output |
---|
5 DY EY GY ST ... |
Test 7
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
MMMMMMMMMN |
correct output |
---|
1 MN |
user output |
---|
1 NM |
Test 8
Group: 2, 3
Verdict: ACCEPTED
input |
---|
XQQZJQDDJOWXDFVQUIODDJIZIQDQIW... |
correct output |
---|
500 DQ DQ DQ DQ ... |
user output |
---|
500 GD GD ND ND ... Truncated |
Test 9
Group: 2, 3
Verdict: ACCEPTED
input |
---|
IIIIIIIIIIIIIIIIIIIIIIIIIIIIII... |
correct output |
---|
0 |
user output |
---|
0 |
Test 10
Group: 2, 3
Verdict: ACCEPTED
input |
---|
KEOHHYHHAIHLLHEKIHKAHHHHOHEHHE... |
correct output |
---|
493 HA HA HA HA ... |
user output |
---|
493 JH XH ZH GH ... Truncated |
Test 11
Group: 2, 3
Verdict: ACCEPTED
input |
---|
WNNFXQNODQFSQVQQPNLQNQNNVVNXHN... |
correct output |
---|
499 NQ NQ NQ NQ ... |
user output |
---|
499 UN UN UN ZN ... Truncated |
Test 12
Group: 2, 3
Verdict: ACCEPTED
input |
---|
VGAHMMMXMMVXAAMMMOMMMXVMMMYMXT... |
correct output |
---|
500 MH MH MH MH ... |
user output |
---|
500 GM JM JM JM ... Truncated |
Test 13
Group: 2, 3
Verdict: ACCEPTED
input |
---|
KKKKUUAKKAUKKKKFKKSVKCWKKKCVOJ... |
correct output |
---|
500 KI KI KI KI ... |
user output |
---|
500 YK YK EK EK ... Truncated |
Test 14
Group: 2, 3
Verdict: ACCEPTED
input |
---|
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVV... |
correct output |
---|
100 VP VP VP VP ... |
user output |
---|
100 GV EV EV NV ... Truncated |
Test 15
Group: 3
Verdict: ACCEPTED
input |
---|
FKKJJBWTSFCDEKFPOKIPWZSVKHACMC... |
correct output |
---|
100000 CK CK CK CK ... |
user output |
---|
100000 NC NC NC NC ... Truncated |
Test 16
Group: 3
Verdict: ACCEPTED
input |
---|
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR... |
correct output |
---|
0 |
user output |
---|
0 |
Test 17
Group: 3
Verdict: ACCEPTED
input |
---|
WVKKVVADNVCVKLVYVVZVKVCTNKVLVV... |
correct output |
---|
99925 VC VC VC VC ... |
user output |
---|
99925 OV OV OV OV ... Truncated |
Test 18
Group: 3
Verdict: ACCEPTED
input |
---|
BBBBBDNXDZQXBBYBBWBSBTMADXBBVZ... |
correct output |
---|
99999 BE BE BE BE ... |
user output |
---|
99999 RB RB RB RB ... Truncated |
Test 19
Group: 3
Verdict: ACCEPTED
input |
---|
FBRDPLUMLZMLLLUFUCLEMCMULLZLFL... |
correct output |
---|
100000 LU LU LU LU ... |
user output |
---|
100000 AL AL AL AL ... Truncated |
Test 20
Group: 3
Verdict: ACCEPTED
input |
---|
UUBUBUTUJSLUVBUXTUUMUXUXTMXUXS... |
correct output |
---|
100000 UX UX UX UX ... |
user output |
---|
100000 AU AU AU AU ... Truncated |
Test 21
Group: 3
Verdict: ACCEPTED
input |
---|
PPPPPPPPPPEPPPPPPPPPPBOPPPPPPP... |
correct output |
---|
20000 PB PB PB PB ... |
user output |
---|
20000 MP MP MP MP ... Truncated |