Task: | Sukat |
Sender: | stpn129 |
Submission time: | 2024-01-20 14:51:47 +0200 |
Language: | C++ (C++17) |
Status: | READY |
Result: | 28 |
group | verdict | score |
---|---|---|
#1 | ACCEPTED | 28 |
#2 | WRONG ANSWER | 0 |
#3 | WRONG ANSWER | 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 | ACCEPTED | 0.00 s | 2, 3 | details |
#9 | ACCEPTED | 0.00 s | 2, 3 | details |
#10 | WRONG ANSWER | 0.00 s | 2, 3 | details |
#11 | WRONG ANSWER | 0.00 s | 2, 3 | details |
#12 | WRONG ANSWER | 0.00 s | 2, 3 | details |
#13 | WRONG ANSWER | 0.00 s | 2, 3 | details |
#14 | ACCEPTED | 0.00 s | 2, 3 | details |
#15 | WRONG ANSWER | 0.02 s | 3 | details |
#16 | ACCEPTED | 0.01 s | 3 | details |
#17 | WRONG ANSWER | 0.01 s | 3 | details |
#18 | WRONG ANSWER | 0.02 s | 3 | details |
#19 | WRONG ANSWER | 0.02 s | 3 | details |
#20 | WRONG ANSWER | 0.02 s | 3 | details |
#21 | WRONG ANSWER | 0.01 s | 3 | details |
Compiler report
input/code.cpp: In function 'void solve()': input/code.cpp:131:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::__cxx11::basic_string<char> >::size_type' {aka 'long unsigned int'} [-Wsign-compare] 131 | for (int i = 0; i < ans.size(); ++i) { | ~~^~~~~~~~~~~~
Code
#include<bits/stdc++.h> using namespace std; void init_code(){ ios_base::sync_with_stdio(false); cin.tie(NULL); #ifndef ONLINE_JUDGE freopen("input.txt", "r", stdin); freopen("output.txt", "w", stdout); #endif } void solve() { string s; cin >> s; int n = s.size(); vector<pair<int, int>> tmp(26); for (int i = 0; i < n; ++i) { int x = s[i] - 'A'; tmp[x].first++; tmp[x].second = x; } priority_queue<pair<int, int>> pq; int mxi = 0, mx = 0; for (int i = 0; i < 26; ++i) { for (int it = 0; it < 26; ++it) { if (it != i) pq.push(tmp[it]); } int total = 0, last = 0; while (!pq.empty()) { pair<int, int> a = pq.top(); pq.pop(); //cout << a.first << ' ' << a.second << '\n'; last = a.first; if (pq.empty()) break; pair<int, int> b = pq.top(); pq.pop(); //cout << a.first << ' ' << a.second << '\n'; //cout << b.first << ' ' << b.second << '\n'; if (a.first == 0 || b.first == 0) break; /* string t = ""; char x = 'A' + a.second, y = 'A' + b.second; t += x; t += y; int k = b.first; for (int i = 0; i < k; ++i) { ans.push_back(t); }*/ total += b.first; pq.push({a.first - b.first, a.second}); } total += (min(last, tmp[i].first)); if (total > mx) { mx = total; mxi = i; } while (!pq.empty()) { pq.pop(); } } vector<string> ans; for (int it = 0; it < 26; ++it) { if (it != mxi) pq.push(tmp[it]); } pair<int, int> lst; while (!pq.empty()) { pair<int, int> a = pq.top(); pq.pop(); //cout << a.first << ' ' << a.second << '\n'; lst = a; if (pq.empty()) break; pair<int, int> b = pq.top(); pq.pop(); //cout << a.first << ' ' << a.second << '\n'; //cout << b.first << ' ' << b.second << '\n'; if (a.first == 0 || b.first == 0) break; string t = ""; char x = 'A' + a.second, y = 'A' + b.second; t += x; t += y; int k = b.first; for (int i = 0; i < k; ++i) { ans.push_back(t); } pq.push({a.first - b.first, a.second}); } string t = ""; char x = 'A' + lst.second, y = 'A' + tmp[mxi].second; t += x; t += y; for (int i = 0; i < min(lst.first, tmp[i].first); ++i) { ans.push_back(t); } cout << ans.size() << '\n'; for (int i = 0; i < ans.size(); ++i) { cout << ans[i] << '\n'; } } int main() { init_code(); solve(); return 0; }
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 TE ... |
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: ACCEPTED
input |
---|
XQQZJQDDJOWXDFVQUIODDJIZIQDQIW... |
correct output |
---|
500 DQ DQ DQ DQ ... |
user output |
---|
500 DQ DQ DQ DQ ... Truncated |
Test 9
Group: 2, 3
Verdict: ACCEPTED
input |
---|
IIIIIIIIIIIIIIIIIIIIIIIIIIIIII... |
correct output |
---|
0 |
user output |
---|
0 |
Test 10
Group: 2, 3
Verdict: WRONG ANSWER
input |
---|
KEOHHYHHAIHLLHEKIHKAHHHHOHEHHE... |
correct output |
---|
493 HA HA HA HA ... |
user output |
---|
429 HQ HQ HQ HQ ... Truncated |
Test 11
Group: 2, 3
Verdict: WRONG ANSWER
input |
---|
WNNFXQNODQFSQVQQPNLQNQNNVVNXHN... |
correct output |
---|
499 NQ NQ NQ NQ ... |
user output |
---|
477 NQ NQ NQ NQ ... Truncated |
Test 12
Group: 2, 3
Verdict: WRONG ANSWER
input |
---|
VGAHMMMXMMVXAAMMMOMMMXVMMMYMXT... |
correct output |
---|
500 MH MH MH MH ... |
user output |
---|
453 MH MH MH MH ... Truncated |
Test 13
Group: 2, 3
Verdict: WRONG ANSWER
input |
---|
KKKKUUAKKAUKKKKFKKSVKCWKKKCVOJ... |
correct output |
---|
500 KI KI KI KI ... |
user output |
---|
468 KI KI KI KI ... Truncated |
Test 14
Group: 2, 3
Verdict: ACCEPTED
input |
---|
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVV... |
correct output |
---|
100 VP VP VP VP ... |
user output |
---|
100 VP VP VP VP ... Truncated |
Test 15
Group: 3
Verdict: WRONG ANSWER
input |
---|
FKKJJBWTSFCDEKFPOKIPWZSVKHACMC... |
correct output |
---|
100000 CK CK CK CK ... |
user output |
---|
99977 CK CK CK CK ... Truncated |
Test 16
Group: 3
Verdict: ACCEPTED
input |
---|
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR... |
correct output |
---|
0 |
user output |
---|
0 |
Test 17
Group: 3
Verdict: WRONG ANSWER
input |
---|
WVKKVVADNVCVKLVYVVZVKVCTNKVLVV... |
correct output |
---|
99925 VC VC VC VC ... |
user output |
---|
96296 VC VC VC VC ... Truncated |
Test 18
Group: 3
Verdict: WRONG ANSWER
input |
---|
BBBBBDNXDZQXBBYBBWBSBTMADXBBVZ... |
correct output |
---|
99999 BE BE BE BE ... |
user output |
---|
97565 BE BE BE BE ... Truncated |
Test 19
Group: 3
Verdict: WRONG ANSWER
input |
---|
FBRDPLUMLZMLLLUFUCLEMCMULLZLFL... |
correct output |
---|
100000 LU LU LU LU ... |
user output |
---|
99848 LU LU LU LU ... Truncated |
Test 20
Group: 3
Verdict: WRONG ANSWER
input |
---|
UUBUBUTUJSLUVBUXTUUMUXUXTMXUXS... |
correct output |
---|
100000 UX UX UX UX ... |
user output |
---|
99734 UX UX UX UX ... Truncated |
Test 21
Group: 3
Verdict: WRONG ANSWER
input |
---|
PPPPPPPPPPEPPPPPPPPPPBOPPPPPPP... |
correct output |
---|
20000 PB PB PB PB ... |
user output |
---|
18416 PB PB PB PB ... Truncated |