CSES - Datatähti 2025 loppu - Results
Submission details
Task:Tulostaulu
Sender:MikaelM
Submission time:2025-01-25 16:51:33 +0200
Language:C++ (C++17)
Status:READY
Result:100
Feedback
groupverdictscore
#1ACCEPTED20
#2ACCEPTED20
#3ACCEPTED60
Test results
testverdicttimegroup
#1ACCEPTED0.01 s1, 3details
#2ACCEPTED0.01 s2, 3details
#3ACCEPTED0.01 s3details
#4ACCEPTED0.00 s1, 2, 3details
#5ACCEPTED0.01 s3details
#6ACCEPTED0.01 s3details

Code

#include <bits/stdc++.h>
using namespace std;
#define rall(x) x.rbegin(),x.rend()
#define all(x) x.begin(),x.end()
using ll = long long;

unordered_map<string, pair<array<int, 10>, int>> scores;

int main() {
    ios_base::sync_with_stdio(0); cin.tie(0);
    
    int n, m, k;
    cin >> n >> m >> k;

    for (int i = 1; i <= n; i++) {
        string nimi;
        cin >> nimi;
        scores[nimi];
    }

    for (int t = 1; t <= m; t++) {
        string nimi;
        char tehtava;
        int pisteet;
        cin >> nimi >> tehtava >> pisteet;
        if (pisteet > scores[nimi].first[tehtava - 'A']) {
            scores[nimi].first[tehtava - 'A'] = pisteet;
            scores[nimi].second = t;
        }
    }

    vector<pair<pair<int, int>, string>> ans;
    vector<string> pisteettomat;
    for (auto u : scores) {
        int yht = 0;
        for (int i = 0; i < 10; i++) yht += u.second.first[i];
        if (yht == 0) pisteettomat.push_back(u.first);
        else ans.push_back({{yht, -u.second.second}, u.first});
    }
    sort(rall(ans));
    sort(all(pisteettomat));

    for (auto x : ans) cout << x.second << " " << x.first.first << "\n";
    for (string nimi : pisteettomat) cout << nimi << " 0\n";
    
}

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: ACCEPTED

input
100 5000 1
eayoy
mkiie
sqd
mgq
...

correct output
ujogxx 100
dadxy 100
ttldevgm 100
awbj 100
j 100
...

user output
ujogxx 100
dadxy 100
ttldevgm 100
awbj 100
j 100
...
Truncated

Test 3

Group: 3

Verdict: ACCEPTED

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: ACCEPTED

input
100 5000 10
yifvbbjcz
cnpkni
qvltt
ngpe
...

correct output
vgyo 10
msgagpngrd 10
cnpkni 10
lpwlq 10
qguwtubeqi 10
...

user output
vgyo 10
msgagpngrd 10
cnpkni 10
lpwlq 10
qguwtubeqi 10
...
Truncated