Task: | Sukat |
Sender: | EmuBird |
Submission time: | 2024-01-20 15:55:45 +0200 |
Language: | Java |
Status: | READY |
Result: | 0 |
group | verdict | score |
---|---|---|
#1 | RUNTIME ERROR | 0 |
#2 | RUNTIME ERROR | 0 |
#3 | RUNTIME ERROR | 0 |
test | verdict | time | group | |
---|---|---|---|---|
#1 | RUNTIME ERROR | 0.08 s | 1, 2, 3 | details |
#2 | ACCEPTED | 0.08 s | 1, 2, 3 | details |
#3 | RUNTIME ERROR | 0.08 s | 1, 2, 3 | details |
#4 | RUNTIME ERROR | 0.08 s | 1, 2, 3 | details |
#5 | RUNTIME ERROR | 0.08 s | 1, 2, 3 | details |
#6 | RUNTIME ERROR | 0.08 s | 1, 2, 3 | details |
#7 | RUNTIME ERROR | 0.08 s | 1, 2, 3 | details |
#8 | RUNTIME ERROR | 0.08 s | 2, 3 | details |
#9 | ACCEPTED | 0.08 s | 2, 3 | details |
#10 | RUNTIME ERROR | 0.08 s | 2, 3 | details |
#11 | RUNTIME ERROR | 0.08 s | 2, 3 | details |
#12 | RUNTIME ERROR | 0.08 s | 2, 3 | details |
#13 | RUNTIME ERROR | 0.08 s | 2, 3 | details |
#14 | RUNTIME ERROR | 0.08 s | 2, 3 | details |
#15 | RUNTIME ERROR | 0.23 s | 3 | details |
#16 | ACCEPTED | 0.21 s | 3 | details |
#17 | RUNTIME ERROR | 0.22 s | 3 | details |
#18 | RUNTIME ERROR | 0.22 s | 3 | details |
#19 | RUNTIME ERROR | 0.22 s | 3 | details |
#20 | RUNTIME ERROR | 0.21 s | 3 | details |
#21 | WRONG ANSWER | 0.20 s | 3 | details |
Code
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Arrays; import java.util.Comparator; import java.util.HashMap; import java.util.List; public class Main { public static class Pair { public char a; public char b; public Pair(char a, char b) { this.a = a; this.b = b; } } public static void main(String[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); String input = reader.readLine(); int sum = 0; HashMap<Character, Integer> map = new HashMap<Character, Integer>(); for (char c : input.toCharArray()) { int count = map.getOrDefault(c, 0) + 1; sum += count; map.put(c, count); } ArrayList<Pair> pairs = new ArrayList<Pair>(); List<Character> sortedKeys = Arrays.asList(map.keySet().toArray(new Character[0])); sortedKeys.sort((a, b) -> map.get(b) - map.get(a)); for (char c : sortedKeys) { int selfCount = map.get(c); while (selfCount < sum) { char other = 'Ö'; // Ö=null for (char otherCandidate : sortedKeys) { if (otherCandidate == c) continue; else { other = otherCandidate; break; } } if (other == 'Ö') break; pairs.add(new Pair(c, other)); selfCount--; int otherCount = map.get(other) - 1; sum -= 2; if (otherCount > 0) { map.put(other, otherCount); } else { map.remove(other); sortedKeys.remove(other); } if (selfCount > 0) { map.put(c, selfCount); } else { map.remove(c); sortedKeys.remove(c); break; } } } // Try to resque the lonely assert map.size() < 2; if (map.size() > 0) { char lastChar = sortedKeys.get(0); int count = map.get(lastChar); if (count > 1) { for (int i = 0; i < pairs.size(); i++) { Pair p = pairs.get(i); if (p.a == lastChar || p.b == lastChar) continue; pairs.set(i, new Pair(lastChar, p.a)); pairs.add(i + 1, new Pair(lastChar, p.b)); count -= 2; if (count <= 1) break; } } } System.out.println(pairs.size()); for (int i = 0; i < pairs.size(); i++) { Pair pair = pairs.get(i); System.out.println(Character.toString(pair.a) + Character.toString(pair.b)); } } }
Test details
Test 1
Group: 1, 2, 3
Verdict: RUNTIME ERROR
input |
---|
QBAXGXJZJS |
correct output |
---|
5 XJ ZX SQ JG ... |
user output |
---|
(empty) |
Error:
Exception in thread "main" java.lang.UnsupportedOperationException at java.base/java.util...
Test 2
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
SSSSSSSSSS |
correct output |
---|
0 |
user output |
---|
0 |
Test 3
Group: 1, 2, 3
Verdict: RUNTIME ERROR
input |
---|
SETTSESEEE |
correct output |
---|
5 ES ET ES ET ... |
user output |
---|
(empty) |
Error:
Exception in thread "main" java.lang.UnsupportedOperationException at java.base/java.util...
Test 4
Group: 1, 2, 3
Verdict: RUNTIME ERROR
input |
---|
SSMRSSSSKR |
correct output |
---|
4 SR SR SM SK |
user output |
---|
(empty) |
Error:
Exception in thread "main" java.lang.UnsupportedOperationException at java.base/java.util...
Test 5
Group: 1, 2, 3
Verdict: RUNTIME ERROR
input |
---|
BIIILIIRRL |
correct output |
---|
5 IR IL IR IL ... |
user output |
---|
(empty) |
Error:
Exception in thread "main" java.lang.UnsupportedOperationException at java.base/java.util...
Test 6
Group: 1, 2, 3
Verdict: RUNTIME ERROR
input |
---|
YYGEYTDSTY |
correct output |
---|
5 YT YT YS YG ... |
user output |
---|
(empty) |
Error:
Exception in thread "main" java.lang.UnsupportedOperationException at java.base/java.util...
Test 7
Group: 1, 2, 3
Verdict: RUNTIME ERROR
input |
---|
MMMMMMMMMN |
correct output |
---|
1 MN |
user output |
---|
(empty) |
Error:
Exception in thread "main" java.lang.UnsupportedOperationException at java.base/java.util...
Test 8
Group: 2, 3
Verdict: RUNTIME ERROR
input |
---|
XQQZJQDDJOWXDFVQUIODDJIZIQDQIW... |
correct output |
---|
500 DQ DQ DQ DQ ... |
user output |
---|
(empty) |
Error:
Exception in thread "main" java.lang.UnsupportedOperationException at java.base/java.util...
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) |
Error:
Exception in thread "main" java.lang.UnsupportedOperationException at java.base/java.util...
Test 11
Group: 2, 3
Verdict: RUNTIME ERROR
input |
---|
WNNFXQNODQFSQVQQPNLQNQNNVVNXHN... |
correct output |
---|
499 NQ NQ NQ NQ ... |
user output |
---|
(empty) |
Error:
Exception in thread "main" java.lang.UnsupportedOperationException at java.base/java.util...
Test 12
Group: 2, 3
Verdict: RUNTIME ERROR
input |
---|
VGAHMMMXMMVXAAMMMOMMMXVMMMYMXT... |
correct output |
---|
500 MH MH MH MH ... |
user output |
---|
(empty) |
Error:
Exception in thread "main" java.lang.UnsupportedOperationException at java.base/java.util...
Test 13
Group: 2, 3
Verdict: RUNTIME ERROR
input |
---|
KKKKUUAKKAUKKKKFKKSVKCWKKKCVOJ... |
correct output |
---|
500 KI KI KI KI ... |
user output |
---|
(empty) |
Error:
Exception in thread "main" java.lang.UnsupportedOperationException at java.base/java.util...
Test 14
Group: 2, 3
Verdict: RUNTIME ERROR
input |
---|
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVV... |
correct output |
---|
100 VP VP VP VP ... |
user output |
---|
(empty) |
Error:
Exception in thread "main" java.lang.UnsupportedOperationException at java.base/java.util...
Test 15
Group: 3
Verdict: RUNTIME ERROR
input |
---|
FKKJJBWTSFCDEKFPOKIPWZSVKHACMC... |
correct output |
---|
100000 CK CK CK CK ... |
user output |
---|
(empty) |
Error:
Exception in thread "main" java.lang.UnsupportedOperationException at java.base/java.util...
Test 16
Group: 3
Verdict: ACCEPTED
input |
---|
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR... |
correct output |
---|
0 |
user output |
---|
0 |
Test 17
Group: 3
Verdict: RUNTIME ERROR
input |
---|
WVKKVVADNVCVKLVYVVZVKVCTNKVLVV... |
correct output |
---|
99925 VC VC VC VC ... |
user output |
---|
(empty) |
Error:
Exception in thread "main" java.lang.UnsupportedOperationException at java.base/java.util...
Test 18
Group: 3
Verdict: RUNTIME ERROR
input |
---|
BBBBBDNXDZQXBBYBBWBSBTMADXBBVZ... |
correct output |
---|
99999 BE BE BE BE ... |
user output |
---|
(empty) |
Error:
Exception in thread "main" java.lang.UnsupportedOperationException at java.base/java.util...
Test 19
Group: 3
Verdict: RUNTIME ERROR
input |
---|
FBRDPLUMLZMLLLUFUCLEMCMULLZLFL... |
correct output |
---|
100000 LU LU LU LU ... |
user output |
---|
(empty) |
Error:
Exception in thread "main" java.lang.UnsupportedOperationException at java.base/java.util...
Test 20
Group: 3
Verdict: RUNTIME ERROR
input |
---|
UUBUBUTUJSLUVBUXTUUMUXUXTMXUXS... |
correct output |
---|
100000 UX UX UX UX ... |
user output |
---|
(empty) |
Error:
Exception in thread "main" java.lang.UnsupportedOperationException at java.base/java.util...
Test 21
Group: 3
Verdict: WRONG ANSWER
input |
---|
PPPPPPPPPPEPPPPPPPPPPBOPPPPPPP... |
correct output |
---|
20000 PB PB PB PB ... |
user output |
---|
0 |