CSES - Datatähti 2025 loppu - Results
Submission details
Task:Tulostaulu
Sender:PMak
Submission time:2025-01-18 15:04:03 +0200
Language:C++ (C++17)
Status:READY
Result:20
Feedback
groupverdictscore
#1ACCEPTED20
#20
#30
Test results
testverdicttimegroup
#1ACCEPTED0.01 s1, 3details
#2--2, 3details
#3--3details
#4ACCEPTED0.00 s1, 2, 3details
#5--3details
#6--3details

Code

#include<bits/stdc++.h>
#define FOR(i, n) for (i = 0; i < n; ++i)
using namespace std;

int main() {
    int n, m, k, i, j, p=0, q;
    cin >> n >> m >> k;
    string s;

    map<string, int> mp1;
    map<int, string> mp2;
    vector<pair<int, string>> sum;
    vector<int> tot(n, 0);
    vector<int> pos(n, 0);
    vector<string> order(n);
    vector<vector<int>> scores(n, vector<int>(k, 0));

    FOR (i, n) {
        cin >> s;
        order[i] = s;
        mp1[s] = p;
        mp2[p] = s;
        tot[p] = 0;
        ++p;
    }
    sort(order.rbegin(), order.rend());
    FOR (i, n) {
        pos[mp1[order[i]]] = i;
    }

    char ch; int x;
    FOR (q, m) {
        cin >> s >> ch >> x;
        p = mp1[s];
        if (scores[p][ch-'A'] < x) {
            tot[p] += x-scores[p][ch-'A'];
            scores[mp1[s]][ch-'A'] = x;


        /*
            sum[find_index(sum, s)].first += x-scores[mp1[s]][ch-'A'];
            sort(sum.rbegin(), sum.rend());*/
        }

        FOR(i, n) {
            FOR (j, n) {
                if (j == 0) continue;
                if (tot[mp1[order[j]]] > tot[mp1[order[j-1]]]) {
                    swap(order[j], order[j-1]);
                }
            }
        }
    }
    FOR (i, n) {
            cout << order[i] << " " << tot[mp1[order[i]]];
            cout << endl;
        }
}

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:

input
100 5000 1
eayoy
mkiie
sqd
mgq
...

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

user output
(empty)

Test 3

Group: 3

Verdict:

input
100 5000 10
bsvhdn
xlxadb
gbc
sadll
...

correct output
ezgermxsii 927
urclsrvlq 924
shgvs 919
xwkqtroxqr 918
oovi 893
...

user output
(empty)

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:

input
100 5000 10
bwv
jxz
cpktj
mhzevc
...

correct output
afvgeut 0
ai 0
amfrsvuqao 0
beadkfbr 0
bkgztu 0
...

user output
(empty)

Test 6

Group: 3

Verdict:

input
100 5000 10
yifvbbjcz
cnpkni
qvltt
ngpe
...

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

user output
(empty)