Task: | Sukat |
Sender: | perusjuntti |
Submission time: | 2024-01-20 14:56:48 +0200 |
Language: | C++ (C++11) |
Status: | READY |
Result: | 28 |
group | verdict | score |
---|---|---|
#1 | ACCEPTED | 28 |
#2 | RUNTIME ERROR | 0 |
#3 | RUNTIME ERROR | 0 |
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 | RUNTIME ERROR | 0.80 s | 2, 3 | details |
#9 | ACCEPTED | 0.00 s | 2, 3 | details |
#10 | RUNTIME ERROR | 0.78 s | 2, 3 | details |
#11 | RUNTIME ERROR | 0.78 s | 2, 3 | details |
#12 | RUNTIME ERROR | 0.78 s | 2, 3 | details |
#13 | RUNTIME ERROR | 0.79 s | 2, 3 | details |
#14 | RUNTIME ERROR | 0.78 s | 2, 3 | details |
#15 | RUNTIME ERROR | 0.79 s | 3 | details |
#16 | RUNTIME ERROR | 0.79 s | 3 | details |
#17 | RUNTIME ERROR | 0.81 s | 3 | details |
#18 | RUNTIME ERROR | 0.79 s | 3 | details |
#19 | RUNTIME ERROR | 0.80 s | 3 | details |
#20 | RUNTIME ERROR | 0.80 s | 3 | details |
#21 | RUNTIME ERROR | 0.79 s | 3 | details |
Code
#include <bits/stdc++.h> #define int long long using namespace std; int brute(string s) { sort(s.begin(),s.end()); int n = s.size(); int cnt = 0; do { int cur = 0; for (int i = 0; i < n-1; i += 2) { if (s[i] != s[i+1]) ++cur; } cnt = max(cnt,cur); } while (next_permutation(s.begin(),s.end())); return cnt; } signed main() { string s; cin >> s; int n = s.size(); vector<pair<int,char>> v(26); for (int i = 0; i < n; ++i) { v[s[i]-'A'].second = s[i]; ++v[s[i]-'A'].first; } sort(v.rbegin(),v.rend()); int i = 0; vector<string> ans; for (int j = 1; j < n; ++j) { if (v[i] > v[j]) { for (int k = 0; k < v[j].first; ++k) { string s1 = ""; s1 += v[i].second; s1 += v[j].second; ans.push_back(s1); } v[i].first -= v[j].first; v[j].first = 0; } else { for (int k = 0; k < v[i].first; ++k) { string s1 = ""; s1 += v[i].second; s1 += v[j].second; ans.push_back(s1); } v[j].first -= v[i].first; v[i].first = 0; while (!v[i].first) ++i; } } cout << ans.size() << '\n'; for (auto u : ans) cout << u << '\n'; }
Test details
Test 1
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
QBAXGXJZJS |
correct output |
---|
5 XJ ZX SQ JG ... |
user output |
---|
5 XJ XJ ZS QG ... |
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 ES ES ES ET ... |
Test 4
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
SSMRSSSSKR |
correct output |
---|
4 SR SR SM SK |
user output |
---|
4 SR SR SM SK |
Test 5
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
BIIILIIRRL |
correct output |
---|
5 IR IL IR IL ... |
user output |
---|
5 IR IR IL IL ... |
Test 6
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
YYGEYTDSTY |
correct output |
---|
5 YT YT YS YG ... |
user output |
---|
5 YT YT YS YG ... |
Test 7
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
MMMMMMMMMN |
correct output |
---|
1 MN |
user output |
---|
1 MN |
Test 8
Group: 2, 3
Verdict: RUNTIME ERROR
input |
---|
XQQZJQDDJOWXDFVQUIODDJIZIQDQIW... |
correct output |
---|
500 DQ DQ DQ DQ ... |
user output |
---|
(empty) |
Test 9
Group: 2, 3
Verdict: ACCEPTED
input |
---|
IIIIIIIIIIIIIIIIIIIIIIIIIIIIII... |
correct output |
---|
0 |
user output |
---|
0 |
Test 10
Group: 2, 3
Verdict: RUNTIME ERROR
input |
---|
KEOHHYHHAIHLLHEKIHKAHHHHOHEHHE... |
correct output |
---|
493 HA HA HA HA ... |
user output |
---|
(empty) |
Test 11
Group: 2, 3
Verdict: RUNTIME ERROR
input |
---|
WNNFXQNODQFSQVQQPNLQNQNNVVNXHN... |
correct output |
---|
499 NQ NQ NQ NQ ... |
user output |
---|
(empty) |
Test 12
Group: 2, 3
Verdict: RUNTIME ERROR
input |
---|
VGAHMMMXMMVXAAMMMOMMMXVMMMYMXT... |
correct output |
---|
500 MH MH MH MH ... |
user output |
---|
(empty) |
Test 13
Group: 2, 3
Verdict: RUNTIME ERROR
input |
---|
KKKKUUAKKAUKKKKFKKSVKCWKKKCVOJ... |
correct output |
---|
500 KI KI KI KI ... |
user output |
---|
(empty) |
Test 14
Group: 2, 3
Verdict: RUNTIME ERROR
input |
---|
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVV... |
correct output |
---|
100 VP VP VP VP ... |
user output |
---|
(empty) |
Test 15
Group: 3
Verdict: RUNTIME ERROR
input |
---|
FKKJJBWTSFCDEKFPOKIPWZSVKHACMC... |
correct output |
---|
100000 CK CK CK CK ... |
user output |
---|
(empty) |
Test 16
Group: 3
Verdict: RUNTIME ERROR
input |
---|
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR... |
correct output |
---|
0 |
user output |
---|
(empty) |
Test 17
Group: 3
Verdict: RUNTIME ERROR
input |
---|
WVKKVVADNVCVKLVYVVZVKVCTNKVLVV... |
correct output |
---|
99925 VC VC VC VC ... |
user output |
---|
(empty) |
Test 18
Group: 3
Verdict: RUNTIME ERROR
input |
---|
BBBBBDNXDZQXBBYBBWBSBTMADXBBVZ... |
correct output |
---|
99999 BE BE BE BE ... |
user output |
---|
(empty) |
Test 19
Group: 3
Verdict: RUNTIME ERROR
input |
---|
FBRDPLUMLZMLLLUFUCLEMCMULLZLFL... |
correct output |
---|
100000 LU LU LU LU ... |
user output |
---|
(empty) |
Test 20
Group: 3
Verdict: RUNTIME ERROR
input |
---|
UUBUBUTUJSLUVBUXTUUMUXUXTMXUXS... |
correct output |
---|
100000 UX UX UX UX ... |
user output |
---|
(empty) |
Test 21
Group: 3
Verdict: RUNTIME ERROR
input |
---|
PPPPPPPPPPEPPPPPPPPPPBOPPPPPPP... |
correct output |
---|
20000 PB PB PB PB ... |
user output |
---|
(empty) |