Task: | Tulostaulu |
Sender: | NoelMatero |
Submission time: | 2025-01-18 16:47:02 +0200 |
Language: | C++ (C++17) |
Status: | READY |
Result: | 20 |
group | verdict | score |
---|---|---|
#1 | ACCEPTED | 20 |
#2 | WRONG ANSWER | 0 |
#3 | WRONG ANSWER | 0 |
test | verdict | time | group | |
---|---|---|---|---|
#1 | ACCEPTED | 0.01 s | 1, 3 | details |
#2 | WRONG ANSWER | 0.01 s | 2, 3 | details |
#3 | WRONG ANSWER | 0.01 s | 3 | details |
#4 | ACCEPTED | 0.00 s | 1, 2, 3 | details |
#5 | ACCEPTED | 0.01 s | 3 | details |
#6 | WRONG ANSWER | 0.01 s | 3 | details |
Code
#include<bits/stdc++.h> using namespace std; using ll = long long; int main() { int n, m, k; cin >> n >> m >> k; vector<string> names(n); map<string, int> b; for (int i = 0; i < n; i++) { cin >> names[i]; } map<char, int> a; vector<char> chars = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'}; for (int i = 0; i < k; i++) a[chars[i]] = i; for (int i = 0; i < n; i++) { b[names[i]] = i; } int ans[n][k]; for (int i = 0; i < n; i++) { for (int j = 0; j < k; j++) { ans[i][j] = 0; } } vector<ll> first(n, -1); for (int i = 0; i < m; i++) { string name; char task; int score; cin >> name >> task >> score; int idx = b[name]; int task_idx = a[task]; if (score > ans[idx][task_idx]) { ans[idx][task_idx] = score; if (first[idx] == -1) { first[idx] = i; } } } vector<pair<int, pair<int, string>>> score_list; for (int i = 0; i < n; i++) { ll totalScore = 0; for (int j = 0; j < k; j++) { totalScore += ans[i][j]; } score_list.push_back({totalScore, {first[i], names[i]}}); } sort(score_list.begin(), score_list.end(), [](const auto& a, const auto& b) { if (a.first != b.first) { return a.first > b.first; } else if (a.second.first != b.second.first) { return a.second.first > b.second.first; } else { return a.second.second < b.second.second; } }); for (const auto& ans : score_list) { cout << ans.second.second << " " << ans.first << endl; } return 0; }
Test details
Test 1
Group: 1, 3
Verdict: ACCEPTED
input |
---|
1 5000 10 zsyad zsyad J 14 zsyad A 40 zsyad D 34 ... |
correct output |
---|
zsyad 1000 |
user output |
---|
zsyad 1000 |
Test 2
Group: 2, 3
Verdict: WRONG ANSWER
input |
---|
100 5000 1 eayoy mkiie sqd mgq ... |
correct output |
---|
ujogxx 100 dadxy 100 ttldevgm 100 awbj 100 j 100 ... |
user output |
---|
ftsk 100 txwdkyw 100 ajufhjpw 100 kxbzdqnm 100 ezuem 100 ... Truncated |
Test 3
Group: 3
Verdict: WRONG ANSWER
input |
---|
100 5000 10 bsvhdn xlxadb gbc sadll ... |
correct output |
---|
ezgermxsii 927 urclsrvlq 924 shgvs 919 xwkqtroxqr 918 oovi 893 ... |
user output |
---|
ezgermxsii 927 urclsrvlq 924 shgvs 919 xwkqtroxqr 918 oovi 893 ... Truncated |
Test 4
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
1 0 1 xoezwspspf |
correct output |
---|
xoezwspspf 0 |
user output |
---|
xoezwspspf 0 |
Test 5
Group: 3
Verdict: ACCEPTED
input |
---|
100 5000 10 bwv jxz cpktj mhzevc ... |
correct output |
---|
afvgeut 0 ai 0 amfrsvuqao 0 beadkfbr 0 bkgztu 0 ... |
user output |
---|
afvgeut 0 ai 0 amfrsvuqao 0 beadkfbr 0 bkgztu 0 ... Truncated |
Test 6
Group: 3
Verdict: WRONG ANSWER
input |
---|
100 5000 10 yifvbbjcz cnpkni qvltt ngpe ... |
correct output |
---|
vgyo 10 msgagpngrd 10 cnpkni 10 lpwlq 10 qguwtubeqi 10 ... |
user output |
---|
sskdgpow 10 bkilv 10 rvfkd 10 rdhyakc 10 quotxmrbhv 10 ... Truncated |