Task: | Tulostaulu |
Sender: | AH |
Submission time: | 2025-01-18 13:40:56 +0200 |
Language: | C++ (C++20) |
Status: | READY |
Result: | 0 |
group | verdict | score |
---|---|---|
#1 | RUNTIME ERROR | 0 |
#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 | RUNTIME ERROR | 0.00 s | 1, 2, 3 | details |
#5 | WRONG ANSWER | 0.01 s | 3 | details |
#6 | WRONG ANSWER | 0.01 s | 3 | details |
Code
#include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> using namespace std; using namespace __gnu_pbds; typedef tree<int,null_type,less<>,rb_tree_tag,tree_order_statistics_node_update> index_set; typedef long long ll; typedef unsigned int uint; typedef unsigned long long ull; #define F first #define S second #define PB push_back #define EB emplace_back #define FOR(i,a,b) for (int i = a; i < b; i++) constexpr ll MOD = 1000000007; int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); int n, m, k; cin >> n >> m >> k; map<string, int> np; FOR(i,0,n) { string x; cin >> x; np[x] = 0; } vector<pair<pair<string, char>, int>> pp; FOR(i,0,m) { string x; cin >> x; char c; cin >> c; int p; cin >> p; pp.PB({{x, c}, p}); } vector<pair<pair<string, char>, int>> tpp = pp; sort(pp.begin(), pp.end()); //FOR(i,0,m) { // cout << "\n" << pp[i].F.F << " " << pp[i].F.S << " " << pp[i].S << "\n\n"; //} string cs = pp[0].F.F; int ma = 0; char pc = pp[0].F.S; FOR(i,0,m) { if (pp[i].F.S != pc || pp[i].F.F != pp[i-1].F.F) { np[pp[i-1].F.F] += ma; ma = 0; } ma = max(ma, pp[i].S); //cout << ma << "\n"; pc = pp[i].F.S; } np[pp[m-1].F.F] += ma; map<string, int> cp, la; int kk = 0; for (auto i : tpp) { cp[i.F.F] += i.S; if (cp[i.F.F] == np[i.F.F]) la[i.F.F] = kk; kk++; } set<pair<pair<int, int>, string>, greater<>> fso; for (auto i : np) { fso.insert({{i.S, la[i.F]}, i.F}); } int ccc = 0; for (auto i : fso) { if (ccc >= n) break; cout << i.S << " " << i.F.F << "\n"; ccc++; } }
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 |
---|
ujogxx 100 yruffkwq 100 yem 100 y 100 wvhzdb 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: RUNTIME ERROR
input |
---|
1 0 1 xoezwspspf |
correct output |
---|
xoezwspspf 0 |
user output |
---|
(empty) |
Test 5
Group: 3
Verdict: WRONG ANSWER
input |
---|
100 5000 10 bwv jxz cpktj mhzevc ... |
correct output |
---|
afvgeut 0 ai 0 amfrsvuqao 0 beadkfbr 0 bkgztu 0 ... |
user output |
---|
oxvl 0 bx 0 pfjfjc 0 pzbke 0 euqjzau 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 |
---|
mtq 10 ycmxcm 10 yifvbbjcz 10 blw 10 pyzq 10 ... Truncated |