| Task: | Sukat |
| Sender: | EeliH |
| Submission time: | 2024-01-20 14:21:53 +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.01 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.01 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.88 s | 3 | details |
| #16 | ACCEPTED | 0.72 s | 3 | details |
| #17 | ACCEPTED | 0.80 s | 3 | details |
| #18 | ACCEPTED | 0.82 s | 3 | details |
| #19 | ACCEPTED | 0.86 s | 3 | details |
| #20 | ACCEPTED | 0.83 s | 3 | details |
| #21 | ACCEPTED | 0.79 s | 3 | details |
Compiler report
input/code.cpp: In function 'int main()':
input/code.cpp:15:23: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'long unsigned int'} [-Wsign-compare]
15 | for (int i = 0; i < strlen(s); i++) {
| ~~^~~~~~~~~~~
input/code.cpp:59:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<char, char> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
59 | for (int i = 0; i < res.size(); i++) {
| ~~^~~~~~~~~~~~
input/code.cpp:14:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
14 | scanf("%s", s);
| ~~~~~^~~~~~~~~Code
#include <bits/stdc++.h>
using namespace std;
#define CHARS 26
priority_queue<pair<int, int>> nums;
int start[CHARS];
char s[1000000];
int main()
{
vector<pair<char, char>> res;
scanf("%s", s);
for (int i = 0; i < strlen(s); i++) {
char c = s[i];
int a = c - 'A';
start[a]++;
}
for (int i = 0; i < CHARS; i++) {
if (start[i] > 0) {
nums.push(make_pair(start[i], i));
}
}
while (!nums.empty())
{
//cerr << nums.size() << endl;
pair<int, int> a = make_pair(nums.top().first, nums.top().second);
nums.pop();
if (nums.empty()) {
break;
}
pair<int, int> b = make_pair(nums.top().first, nums.top().second);
nums.pop();
b.first -= 1;
a.first -= 1;
res.push_back(make_pair(b.second + 'A', a.second + 'A'));
if (b.first != 0) {
nums.push(b);
}
if (a.first != 0) {
nums.push(a);
}
}
for (int i = 0; i < CHARS; i++) {
//cerr << nums[i] << endl;
}
cout << res.size() << endl;
for (int i = 0; i < res.size(); i++) {
cout << res[i].first << res[i].second << endl;
}
}Test details
Test 1
Group: 1, 2, 3
Verdict: ACCEPTED
| input |
|---|
| QBAXGXJZJS |
| correct output |
|---|
| 5 XJ ZX SQ JG ... |
| user output |
|---|
| 5 JX XZ QS GJ ... |
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 SE TE SE TE ... |
Test 4
Group: 1, 2, 3
Verdict: ACCEPTED
| input |
|---|
| SSMRSSSSKR |
| correct output |
|---|
| 4 SR SR SM SK |
| user output |
|---|
| 4 RS RS MS KS |
Test 5
Group: 1, 2, 3
Verdict: ACCEPTED
| input |
|---|
| BIIILIIRRL |
| correct output |
|---|
| 5 IR IL IR IL ... |
| user output |
|---|
| 5 RI LI RI LI ... |
Test 6
Group: 1, 2, 3
Verdict: ACCEPTED
| input |
|---|
| YYGEYTDSTY |
| correct output |
|---|
| 5 YT YT YS YG ... |
| user output |
|---|
| 5 TY TY SY GY ... |
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 QD QD QD QD ... 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 AH AH AH AH ... Truncated |
Test 11
Group: 2, 3
Verdict: ACCEPTED
| input |
|---|
| WNNFXQNODQFSQVQQPNLQNQNNVVNXHN... |
| correct output |
|---|
| 499 NQ NQ NQ NQ ... |
| user output |
|---|
| 499 QN QN QN QN ... Truncated |
Test 12
Group: 2, 3
Verdict: ACCEPTED
| input |
|---|
| VGAHMMMXMMVXAAMMMOMMMXVMMMYMXT... |
| correct output |
|---|
| 500 MH MH MH MH ... |
| user output |
|---|
| 500 HM HM HM HM ... Truncated |
Test 13
Group: 2, 3
Verdict: ACCEPTED
| input |
|---|
| KKKKUUAKKAUKKKKFKKSVKCWKKKCVOJ... |
| correct output |
|---|
| 500 KI KI KI KI ... |
| user output |
|---|
| 500 IK IK IK IK ... Truncated |
Test 14
Group: 2, 3
Verdict: ACCEPTED
| input |
|---|
| VVVVVVVVVVVVVVVVVVVVVVVVVVVVVV... |
| correct output |
|---|
| 100 VP VP VP VP ... |
| user output |
|---|
| 100 PV PV PV PV ... Truncated |
Test 15
Group: 3
Verdict: ACCEPTED
| input |
|---|
| FKKJJBWTSFCDEKFPOKIPWZSVKHACMC... |
| correct output |
|---|
| 100000 CK CK CK CK ... |
| user output |
|---|
| 100000 KC KC KC KC ... 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 CV CV CV CV ... Truncated |
Test 18
Group: 3
Verdict: ACCEPTED
| input |
|---|
| BBBBBDNXDZQXBBYBBWBSBTMADXBBVZ... |
| correct output |
|---|
| 99999 BE BE BE BE ... |
| user output |
|---|
| 99999 EB EB EB EB ... Truncated |
Test 19
Group: 3
Verdict: ACCEPTED
| input |
|---|
| FBRDPLUMLZMLLLUFUCLEMCMULLZLFL... |
| correct output |
|---|
| 100000 LU LU LU LU ... |
| user output |
|---|
| 100000 UL UL UL UL ... Truncated |
Test 20
Group: 3
Verdict: ACCEPTED
| input |
|---|
| UUBUBUTUJSLUVBUXTUUMUXUXTMXUXS... |
| correct output |
|---|
| 100000 UX UX UX UX ... |
| user output |
|---|
| 100000 XU XU XU XU ... Truncated |
Test 21
Group: 3
Verdict: ACCEPTED
| input |
|---|
| PPPPPPPPPPEPPPPPPPPPPBOPPPPPPP... |
| correct output |
|---|
| 20000 PB PB PB PB ... |
| user output |
|---|
| 20000 BP BP BP BP ... Truncated |
