# 0001, 2024-11-02 11:14:56, PPPPPPPPPP-P-P-PP---- (66%) #include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; int time,topic; string team,TF; set <string> allteam; //point panalty name vector<tuple<int,int,string>> T; // +20 panalty check // choice time map<string,map<int,int>> check; while (n--) { cin >> time >> team >> topic >> TF; //new team if(allteam.find(team) == allteam.end()) { T.push_back({0,0,team}); allteam.insert(team); } if (TF == "T") { for (auto &q : T) { if (get<2>(q) == team) { if (check[team].find(topic) == check[team].end()){ get<0>(q)--; get<1>(q) += time; } else { if (check[team][topic] != -1) { get<0>(q)--; get<1>(q) += (time + 20 * check[team][topic]); } } } } check[team][topic] = -1; }else { if (check[team][topic] != -1) check[team][topic]++; } } sort(T.begin(),T.end()); for (auto &q : T) cout << get<2>(q) << " " << -1 * get<0>(q) << " " << get<1>(q) << endl; } | # 0002, 2024-11-02 11:21:02, xxxxxxxxxxxPP-P-x--P- (19%) #include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; int time,topic; string team,TF; set <string> allteam; //point panalty name vector<tuple<int,int,string>> T; // +20 panalty check // choice time map<string,map<int,int>> check; while (n--) { cin >> time >> team >> topic >> TF; //new team if(allteam.find(team) == allteam.end()) { T.push_back({0,0,team}); allteam.insert(team); } if (TF == "T") { for (auto &q : T) { if (get<2>(q) == team) { if (check[team].find(topic) == check[team].end()){ get<0>(q)--; get<1>(q) += time; } else { if (check[team][topic] != -1) { get<0>(q)--; get<1>(q) += (time + 20 * check[team][topic]); } } } } check[team][topic] = -1; }else { if (check[team][topic] != -1) check[team][topic]++; } } sort(T.begin(),T.end()); auto itr = T.begin(); for (;itr < T.begin()+3;itr++) cout << get<2>(*itr) << " " << -1 * get<0>(*itr) << " " << get<1>(*itr) << endl; while (true) { if ((get<0>(*itr) != get<0>(*(itr+1))) || (get<1>(*itr) != get<1>(*(itr+1)))) break; else cout << get<2>(*(itr++)) << " " << -1 * get<0>(*(itr++)) << " " << get<1>(*(itr++)) << endl; } } | # 0003, 2024-11-02 11:21:27, xxxxxxxxPP-PP-P----P- (28%) #include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; int time,topic; string team,TF; set <string> allteam; //point panalty name vector<tuple<int,int,string>> T; // +20 panalty check // choice time map<string,map<int,int>> check; while (n--) { cin >> time >> team >> topic >> TF; //new team if(allteam.find(team) == allteam.end()) { T.push_back({0,0,team}); allteam.insert(team); } if (TF == "T") { for (auto &q : T) { if (get<2>(q) == team) { if (check[team].find(topic) == check[team].end()){ get<0>(q)--; get<1>(q) += time; } else { if (check[team][topic] != -1) { get<0>(q)--; get<1>(q) += (time + 20 * check[team][topic]); } } } } check[team][topic] = -1; }else { if (check[team][topic] != -1) check[team][topic]++; } } sort(T.begin(),T.end()); auto itr = T.begin(); for (;itr < T.begin()+3;itr++) cout << get<2>(*itr) << " " << -1 * get<0>(*itr) << " " << get<1>(*itr) << endl; } | # 0004, 2024-11-02 11:23:07, xxxxxxxxPP-PP-P----P- (28%) #include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; int time,topic; string team,TF; set <string> allteam; //point panalty name vector<tuple<int,int,string>> T; // +20 panalty check // choice time map<string,map<int,int>> check; while (n--) { cin >> time >> team >> topic >> TF; //new team if(allteam.find(team) == allteam.end()) { T.push_back({0,0,team}); allteam.insert(team); } if (TF == "T") { for (auto &q : T) { if (get<2>(q) == team) { if (check[team].find(topic) == check[team].end()){ get<0>(q)--; get<1>(q) += time; } else { if (check[team][topic] != -1) { get<0>(q)--; get<1>(q) += (time + 20 * check[team][topic]); } } } } check[team][topic] = -1; }else { if (check[team][topic] != -1) check[team][topic]++; } } sort(T.begin(),T.end()); auto itr = T.begin(); for (int i = 0;i < T.size() && itr < T.begin()+3;itr++) cout << get<2>(*itr) << " " << -1 * get<0>(*itr) << " " << get<1>(*itr) << endl; } | # 0005, 2024-11-02 11:25:34, PPPPPPPPPP-PP-P----P- (66%) #include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; int time,topic; string team,TF; set <string> allteam; //point panalty name vector<tuple<int,int,string>> T; // +20 panalty check // choice time map<string,map<int,int>> check; while (n--) { cin >> time >> team >> topic >> TF; //new team if(allteam.find(team) == allteam.end()) { T.push_back({0,0,team}); allteam.insert(team); } if (TF == "T") { for (auto &q : T) { if (get<2>(q) == team) { if (check[team].find(topic) == check[team].end()){ get<0>(q)--; get<1>(q) += time; } else { if (check[team][topic] != -1) { get<0>(q)--; get<1>(q) += (time + 20 * check[team][topic]); } } } } check[team][topic] = -1; }else { if (check[team][topic] != -1) check[team][topic]++; } } sort(T.begin(),T.end()); auto itr = T.begin(); if (T.size() > 3) for (int i = 0;itr < T.begin()+3;itr++) cout << get<2>(*itr) << " " << -1 * get<0>(*itr) << " " << get<1>(*itr) << endl; else for (auto &q: T) cout << get<2>(q) << " " << -1 * get<0>(q) << " " << get<1>(q) << endl; } | # 0006, 2024-11-02 11:36:18, PPPPPPPPPP-PP-P----P- (66%) #include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; int time,topic; string team,TF; set <string> allteam; //point panalty name vector<tuple<int,int,string>> T; // +20 panalty check // choice time map<string,map<int,int>> check; while (n--) { cin >> time >> team >> topic >> TF; //new team if(allteam.find(team) == allteam.end()) { T.push_back({0,0,team}); allteam.insert(team); } if (TF == "T") { for (auto &q : T) { if (get<2>(q) == team) { if (check[team].find(topic) == check[team].end()){ get<0>(q)--; get<1>(q) += time; } else { if (check[team][topic] != -1) { get<0>(q)--; get<1>(q) += (time + 20 * check[team][topic]); } } } } check[team][topic] = -1; }else { if (check[team][topic] != -1) check[team][topic]++; } } sort(T.begin(),T.end()); auto itr = T.begin(); //cout << T.size(); if (T.size() > 3){ for (;itr < T.begin()+3;itr++){ if(get<0>(*itr) != 0) cout << get<2>(*itr) << " " << -1 * get<0>(*itr) << " " << get<1>(*itr) << endl; else break; } } else for (auto &q: T) cout << get<2>(q) << " " << -1 * get<0>(q) << " " << get<1>(q) << endl; } | # 0007, 2024-11-02 11:42:20, PPPPPPPPPP-PPPPPPPPPP (95%) #include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; int time,topic; string team,TF; set <string> allteam; //point panalty name vector<tuple<int,int,string>> T; // +20 panalty check // choice time map<string,map<int,int>> check; while (n--) { cin >> time >> team >> topic >> TF; //new team if(allteam.find(team) == allteam.end()) { T.push_back({0,0,team}); allteam.insert(team); } if (TF == "T") { for (auto &q : T) { if (get<2>(q) == team) { if (check[team].find(topic) == check[team].end()){ get<0>(q)--; get<1>(q) += time; } else { if (check[team][topic] != -1) { get<0>(q)--; get<1>(q) += (time + 20 * check[team][topic]); } } } } check[team][topic] = -1; }else { if (check[team][topic] != -1) check[team][topic]++; } } sort(T.begin(),T.end()); auto itr = T.begin(); if (T.size() > 3){ bool iszero = false; for (;itr < T.begin()+3;itr++){ if(get<0>(*itr) != 0) cout << get<2>(*itr) << " " << -1 * get<0>(*itr) << " " << get<1>(*itr) << endl; else {iszero = 1;break;} } auto temp = T.begin() + 2; if (!iszero) while (true) { if(get<0>(*temp) == get<0>(*itr) && get<1>(*temp) == get<1>(*itr)) { cout << get<2>(*itr) << " " << -1 * get<0>(*itr) << " " << get<1>(*itr) << endl; temp++; itr++; }else break; } } else for (auto &q: T) cout << get<2>(q) << " " << -1 * get<0>(q) << " " << get<1>(q) << endl; } | # 0008, 2024-11-02 11:48:55, PPPPPPPPPP-PPPPPPPPPP (95%) #include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; int time,topic; string team,TF; set <string> allteam; //point panalty name vector<tuple<int,int,string>> T; // +20 panalty check // choice time map<string,map<int,int>> check; while (n--) { cin >> time >> team >> topic >> TF; //new team if(allteam.find(team) == allteam.end()) { T.push_back({0,0,team}); allteam.insert(team); } if (TF == "T") { for (auto &q : T) { if (get<2>(q) == team) { if (check[team].find(topic) == check[team].end()){ get<0>(q)--; get<1>(q) += time; } else { if (check[team][topic] != -1) { get<0>(q)--; get<1>(q) += (time + 20 * check[team][topic]); } } } } check[team][topic] = -1; }else { if (check[team][topic] != -1) check[team][topic]++; } } sort(T.begin(),T.end()); auto itr = T.begin(); if (T.size() > 3){ bool iszero = false; for (;itr < T.begin()+3;itr++){ if(get<0>(*itr) != 0) cout << get<2>(*itr) << " " << -1 * get<0>(*itr) << " " << get<1>(*itr) << endl; else {iszero = 1;break;} } auto temp = T.begin() + 2; if (!iszero) while (true) { if(get<0>(*temp) == get<0>(*itr) && get<1>(*temp) == get<1>(*itr)) { cout << get<2>(*itr) << " " << -1 * get<0>(*itr) << " " << get<1>(*itr) << endl; temp++; itr++; }else break; } } else for (auto &q: T) cout << get<2>(q) << " " << -1 * get<0>(q) << " " << get<1>(q) << endl; } | # 0009, 2024-11-02 11:49:54, PPPPPPPPPP-PPPPPPPPPP (95%) #include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; int time,topic; string team,TF; set <string> allteam; //point panalty name vector<tuple<int,int,string>> T; // +20 panalty check // choice time map<string,map<int,int>> check; while (n--) { cin >> time >> team >> topic >> TF; //new team if(allteam.find(team) == allteam.end()) { T.push_back({0,0,team}); allteam.insert(team); } if (TF == "T") { for (auto &q : T) { if (get<2>(q) == team) { if (check[team].find(topic) == check[team].end()){ get<0>(q)--; get<1>(q) += time; } else { if (check[team][topic] != -1) { get<0>(q)--; get<1>(q) += (time + 20 * check[team][topic]); } } } } check[team][topic] = -1; }else { if (check[team][topic] != -1) check[team][topic]++; } } sort(T.begin(),T.end()); auto itr = T.begin(); if (T.size() > 3){ bool iszero = false; for (;itr < T.begin()+3;itr++){ if(get<0>(*itr) != 0) cout << get<2>(*itr) << " " << -1 * get<0>(*itr) << " " << get<1>(*itr) << endl; else {iszero = 1;break;} } auto temp = T.begin() + 2; if (!iszero) while (true) { if(get<0>(*temp) == get<0>(*itr) && get<1>(*temp) == get<1>(*itr)) { cout << get<2>(*itr) << " " << -1 * get<0>(*itr) << " " << get<1>(*itr) << endl; temp++; itr++; }else break; } } else for (auto &q: T) cout << get<2>(q) << " " << -1 * get<0>(q) << " " << get<1>(q) << endl; } | # 0010, 2024-11-02 11:55:13, PPPPPPPPPP-PPPPP-PPPP (90%) #include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; int time,topic; string team,TF; set <string> allteam; //point panalty name vector<tuple<int,int,string>> T; // +20 panalty check // choice time map<string,map<int,int>> check; while (n--) { cin >> time >> team >> topic >> TF; //new team if(allteam.find(team) == allteam.end()) { T.push_back({0,0,team}); allteam.insert(team); } if (TF == "T") { for (auto &q : T) { if (get<2>(q) == team) { if (check[team].find(topic) == check[team].end()){ get<0>(q)--; get<1>(q) += time; } else { if (check[team][topic] != -1) { get<0>(q)--; get<1>(q) += (time + 20 * check[team][topic]); } } } } check[team][topic] = -1; }else { if (check[team][topic] != -1) check[team][topic]++; } } sort(T.begin(),T.end()); auto itr = T.begin(); if (T.size() > 3){ bool iszero = false; for (;itr < T.begin()+3;itr++){ if(get<0>(*itr) != 0) cout << get<2>(*itr) << " " << -1 * get<0>(*itr) << " " << get<1>(*itr) << endl; else {iszero = 1;break;} } auto temp = T.begin() + 2; if (!iszero) if(get<0>(*temp) == get<0>(*itr) && get<1>(*temp) == get<1>(*itr)) cout << get<2>(*itr) << " " << -1 * get<0>(*itr) << " " << get<1>(*itr) << endl; } else for (auto &q: T) cout << get<2>(q) << " " << -1 * get<0>(q) << " " << get<1>(q) << endl; } | # 0011, 2024-11-02 11:55:28, PPPPPPPPPP-PPPPPPPPPP (95%) #include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; int time,topic; string team,TF; set <string> allteam; //point panalty name vector<tuple<int,int,string>> T; // +20 panalty check // choice time map<string,map<int,int>> check; while (n--) { cin >> time >> team >> topic >> TF; //new team if(allteam.find(team) == allteam.end()) { T.push_back({0,0,team}); allteam.insert(team); } if (TF == "T") { for (auto &q : T) { if (get<2>(q) == team) { if (check[team].find(topic) == check[team].end()){ get<0>(q)--; get<1>(q) += time; } else { if (check[team][topic] != -1) { get<0>(q)--; get<1>(q) += (time + 20 * check[team][topic]); } } } } check[team][topic] = -1; }else { if (check[team][topic] != -1) check[team][topic]++; } } sort(T.begin(),T.end()); auto itr = T.begin(); if (T.size() > 3){ bool iszero = false; for (;itr < T.begin()+3;itr++){ if(get<0>(*itr) != 0) cout << get<2>(*itr) << " " << -1 * get<0>(*itr) << " " << get<1>(*itr) << endl; else {iszero = 1;break;} } auto temp = T.begin() + 2; if (!iszero) while (true) { if(get<0>(*temp) == get<0>(*itr) && get<1>(*temp) == get<1>(*itr)) { cout << get<2>(*itr) << " " << -1 * get<0>(*itr) << " " << get<1>(*itr) << endl; temp++; itr++; }else break; } } else for (auto &q: T) cout << get<2>(q) << " " << -1 * get<0>(q) << " " << get<1>(q) << endl; } | # 0012, 2024-11-02 12:01:55, PPPPPPPPPP-PPPPPPPPPP (95%) #include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; int time,topic; string team,TF; set <string> allteam; //point panalty name vector<tuple<int,int,string>> T; // +20 panalty check // choice time map<string,map<int,int>> check; while (n--) { cin >> time >> team >> topic >> TF; //new team if(allteam.find(team) == allteam.end()) { T.push_back({0,0,team}); allteam.insert(team); } // submit is true if (TF == "T") { for (auto &q : T) { if (get<2>(q) == team) { // + 1 point if (check[team].find(topic) == check[team].end()){ get<0>(q)--; get<1>(q) += time; } // ever submit else { // past submit is alaway false if (check[team][topic] != -1) { get<0>(q)--; get<1>(q) += (time + 20 * check[team][topic]); } } break; } } check[team][topic] = -1; } //submit is false else { if (check[team][topic] != -1) check[team][topic]++; } } sort(T.begin(),T.end()); auto itr = T.begin(); // n(team) > 3 if (T.size() > 3){ bool iszero = false; for (;itr < T.begin()+3;itr++){ if(get<0>(*itr) != 0) cout << get<2>(*itr) << " " << -1 * get<0>(*itr) << " " << get<1>(*itr) << endl; else {iszero = 1;break;} } auto temp = T.begin() + 2; if (!iszero) while (true) { if(get<0>(*temp) == get<0>(*itr) && get<1>(*temp) == get<1>(*itr)) { cout << get<2>(*itr) << " " << -1 * get<0>(*itr) << " " << get<1>(*itr) << endl; temp++; itr++; }else break; } } //cout all else for (auto &q: T) cout << get<2>(q) << " " << -1 * get<0>(q) << " " << get<1>(q) << endl; } | # 0013, 2024-11-02 12:03:36, PPPPPPPPPP-PPPPPPPPPP (95%) #include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; int time,topic; string team,TF; set <string> allteam; //point panalty name vector<tuple<int,int,string>> T; // +20 panalty check // choice time map<string,map<int,int>> check; while (n--) { cin >> time >> team >> topic >> TF; //new team if(allteam.find(team) == allteam.end()) { T.push_back({0,0,team}); allteam.insert(team); } // submit is true if (TF == "T") { for (auto &q : T) { if (get<2>(q) == team) { // + 1 point if (check[team].find(topic) == check[team].end()){ get<0>(q)--; get<1>(q) += time; } // ever submit else { // past submit is alaway false if (check[team][topic] != -1) { get<0>(q)--; get<1>(q) += (time + 20 * check[team][topic]); } } break; } } check[team][topic] = -1; } //submit is false else { if (check[team][topic] != -1) check[team][topic]++; } } sort(T.begin(),T.end()); auto itr = T.begin(); // n(team) > 3 if (T.size() > 3){ bool iszero = false; for (;itr < T.begin()+3;itr++){ if(get<0>(*itr) != 0) cout << get<2>(*itr) << " " << -1 * get<0>(*itr) << " " << get<1>(*itr) << endl; else {iszero = 1;break;} } auto temp = T.begin() + 2; if (!iszero) while (true) { if(get<0>(*temp) == get<0>(*itr) && get<1>(*temp) == get<1>(*itr)) { cout << get<2>(*itr) << " " << -1 * get<0>(*itr) << " " << get<1>(*itr) << endl; temp++; itr++; }else break; } } //cout all else for (auto &q: T) if(get<0>(*itr) != 0) cout << get<2>(q) << " " << -1 * get<0>(q) << " " << get<1>(q) << endl; else break; } | # 0014, 2024-11-02 12:04:13, PPPPPPPPPPPPPPPPPPPPP (100%) #include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; int time,topic; string team,TF; set <string> allteam; //point panalty name vector<tuple<int,int,string>> T; // +20 panalty check // choice time map<string,map<int,int>> check; while (n--) { cin >> time >> team >> topic >> TF; //new team if(allteam.find(team) == allteam.end()) { T.push_back({0,0,team}); allteam.insert(team); } // submit is true if (TF == "T") { for (auto &q : T) { if (get<2>(q) == team) { // + 1 point if (check[team].find(topic) == check[team].end()){ get<0>(q)--; get<1>(q) += time; } // ever submit else { // past submit is alaway false if (check[team][topic] != -1) { get<0>(q)--; get<1>(q) += (time + 20 * check[team][topic]); } } break; } } check[team][topic] = -1; } //submit is false else { if (check[team][topic] != -1) check[team][topic]++; } } sort(T.begin(),T.end()); auto itr = T.begin(); // n(team) > 3 if (T.size() > 3){ bool iszero = false; for (;itr < T.begin()+3;itr++){ if(get<0>(*itr) != 0) cout << get<2>(*itr) << " " << -1 * get<0>(*itr) << " " << get<1>(*itr) << endl; else {iszero = 1;break;} } auto temp = T.begin() + 2; if (!iszero) while (true) { if(get<0>(*temp) == get<0>(*itr) && get<1>(*temp) == get<1>(*itr)) { cout << get<2>(*itr) << " " << -1 * get<0>(*itr) << " " << get<1>(*itr) << endl; temp++; itr++; }else break; } } //cout all else for (auto &q: T) if(get<0>(q) != 0) cout << get<2>(q) << " " << -1 * get<0>(q) << " " << get<1>(q) << endl; else break; } |
# 0015, 2024-11-02 11:03:09, PP-P-PPP-P-P--P------ (42%) #include <bits/stdc++.h> using namespace std; int main(){ int n,a,c; string b,d; map<int,set<string>,greater<int>> ans; map<string,int> pn; map<string,int> sc; map<pair<string,int>,bool> q; cin>>n; for(int i=0;i<n;i++){ cin>>a>>b>>c>>d; if(d=="T"){ if(!(q[{b,c}])){ pn[b]+=a; sc[b]++; q[{b,c}]=1; } }else{ if(!(q[{b,c}])){ pn[b]+=20; } } } for(auto e:sc)ans[e.second].insert(e.first); int k=0; for(auto e:ans){ for(auto it:e.second){ if(k==3)return 0; cout<<it<<" "<<e.first<<" "<<pn[it]<<endl; k++; } } } | # 0016, 2024-11-02 11:23:46, PP-PPPPPPPPPP-P----P- (66%) #include <bits/stdc++.h> using namespace std; int main(){ int n,a,c; string b,d; map<int,set<string>,greater<int>> mp; map<string,int> pn; map<string,int> sc; map<pair<string,int>,bool> q; multimap<int,pair<string,int>> ans; cin>>n; for(int i=0;i<n;i++){ cin>>a>>b>>c>>d; if(d=="T"){ if(!(q[{b,c}])){ pn[b]+=a; sc[b]++; q[{b,c}]=1; } }else{ if(!(q[{b,c}])){ pn[b]+=20; } } } for(auto e:sc)mp[e.second].insert(e.first); int k=0; for(auto e:mp){ ans.clear(); for(auto it:e.second)ans.insert(make_pair(pn[it],make_pair(it,e.first))); for(auto it:ans){ if(k==3)return 0; cout<<it.second.first<<" "<<it.second.second<<" "<<it.first<<endl;k++; } } } | # 0017, 2024-11-02 11:35:52, --------------------- (0%) #include <bits/stdc++.h> using namespace std; int main(){ int n,a,c; string b,d; map<int,set<string>,greater<int>> mp; map<string,int> pn; map<string,int> sc; map<pair<string,int>,bool> q; multimap<int,pair<string,int>> ans; cin>>n; for(int i=0;i<n;i++){ cin>>a>>b>>c>>d; if(d=="T"){ if(!(q[{b,c}])){ pn[b]+=a; sc[b]++; q[{b,c}]=1; } }else{ if(!(q[{b,c}])){ pn[b]+=20; } } } for(auto e:sc)mp[e.second].insert(e.first); int k=0; int y=0,z=0; for(auto e:mp){ ans.clear(); for(auto it:e.second)ans.insert(make_pair(pn[it],make_pair(it,e.first))); for(auto it:ans){ if(k>=2 && (y!=it.second.second || z!=it.first))return 0; cout<<it.second.first<<" "<<it.second.second<<" "<<it.first<<" "<<k<<endl; if(y!=it.second.second || z!=it.first)k++; y=it.second.second;z=it.first; } } } | # 0018, 2024-11-02 11:36:21, PP-PPPPP--PP-----PP-- (52%) #include <bits/stdc++.h> using namespace std; int main(){ int n,a,c; string b,d; map<int,set<string>,greater<int>> mp; map<string,int> pn; map<string,int> sc; map<pair<string,int>,bool> q; multimap<int,pair<string,int>> ans; cin>>n; for(int i=0;i<n;i++){ cin>>a>>b>>c>>d; if(d=="T"){ if(!(q[{b,c}])){ pn[b]+=a; sc[b]++; q[{b,c}]=1; } }else{ if(!(q[{b,c}])){ pn[b]+=20; } } } for(auto e:sc)mp[e.second].insert(e.first); int k=0; int y=0,z=0; for(auto e:mp){ ans.clear(); for(auto it:e.second)ans.insert(make_pair(pn[it],make_pair(it,e.first))); for(auto it:ans){ if(k>=2 && (y!=it.second.second || z!=it.first))return 0; cout<<it.second.first<<" "<<it.second.second<<" "<<it.first<<endl; if(y!=it.second.second || z!=it.first)k++; y=it.second.second;z=it.first; } } } | # 0019, 2024-11-02 11:37:07, PP-PPPPPPPPPPPPPP--P- (80%) #include <bits/stdc++.h> using namespace std; int main(){ int n,a,c; string b,d; map<int,set<string>,greater<int>> mp; map<string,int> pn; map<string,int> sc; map<pair<string,int>,bool> q; multimap<int,pair<string,int>> ans; cin>>n; for(int i=0;i<n;i++){ cin>>a>>b>>c>>d; if(d=="T"){ if(!(q[{b,c}])){ pn[b]+=a; sc[b]++; q[{b,c}]=1; } }else{ if(!(q[{b,c}])){ pn[b]+=20; } } } for(auto e:sc)mp[e.second].insert(e.first); int k=0; int y=0,z=0; for(auto e:mp){ ans.clear(); for(auto it:e.second)ans.insert(make_pair(pn[it],make_pair(it,e.first))); for(auto it:ans){ if(k>=3 && (y!=it.second.second || z!=it.first))return 0; cout<<it.second.first<<" "<<it.second.second<<" "<<it.first<<endl; if(y!=it.second.second || z!=it.first)k++; y=it.second.second;z=it.first; } } } | # 0020, 2024-11-02 11:37:40, PP-PPPPPPPPPPPPPP--P- (80%) #include <bits/stdc++.h> using namespace std; int main(){ int n,a,c; string b,d; map<int,set<string>,greater<int>> mp; map<string,int> pn; map<string,int> sc; map<pair<string,int>,bool> q; multimap<int,pair<string,int>> ans; cin>>n; for(int i=0;i<n;i++){ cin>>a>>b>>c>>d; if(d=="T"){ if(!(q[{b,c}])){ pn[b]+=a; sc[b]++; q[{b,c}]=1; } }else{ if(!(q[{b,c}])){ pn[b]+=20; } } } for(auto e:sc)mp[e.second].insert(e.first); int k=0; int y=0,z=0; for(auto e:mp){ ans.clear(); for(auto it:e.second)ans.insert(make_pair(pn[it],make_pair(it,e.first))); for(auto it:ans){ if(k==3 && (y!=it.second.second || z!=it.first))return 0; cout<<it.second.first<<" "<<it.second.second<<" "<<it.first<<endl; if(y!=it.second.second || z!=it.first)k++; y=it.second.second;z=it.first; } } } | # 0021, 2024-11-02 11:40:40, PP-PPPPPPPPPPPPP-PPP- (85%) #include <bits/stdc++.h> using namespace std; int main(){ int n,a,c; string b,d; map<int,set<string>,greater<int>> mp; map<string,int> pn; map<string,int> sc; map<pair<string,int>,bool> q; multimap<int,pair<string,int>> ans; cin>>n; for(int i=0;i<n;i++){ cin>>a>>b>>c>>d; if(d=="T"){ if(!(q[{b,c}])){ pn[b]+=a; sc[b]++; q[{b,c}]=1; } }else{ if(!(q[{b,c}])){ pn[b]+=20; } } } for(auto e:sc)mp[e.second].insert(e.first); int k=0; int y=0,z=0; for(auto e:mp){ ans.clear(); for(auto it:e.second)ans.insert(make_pair(pn[it],make_pair(it,e.first))); for(auto it:ans){ if(k==3){ if(y!=it.second.second || z!=it.first)return 0; else{ cout<<it.second.first<<" "<<it.second.second<<" "<<it.first<<endl; return 0; } } cout<<it.second.first<<" "<<it.second.second<<" "<<it.first<<endl; k++; y=it.second.second;z=it.first; } } } | # 0022, 2024-11-02 11:40:57, PP-PPPPPPPPPP-P----P- (66%) #include <bits/stdc++.h> using namespace std; int main(){ int n,a,c; string b,d; map<int,set<string>,greater<int>> mp; map<string,int> pn; map<string,int> sc; map<pair<string,int>,bool> q; multimap<int,pair<string,int>> ans; cin>>n; for(int i=0;i<n;i++){ cin>>a>>b>>c>>d; if(d=="T"){ if(!(q[{b,c}])){ pn[b]+=a; sc[b]++; q[{b,c}]=1; } }else{ if(!(q[{b,c}])){ pn[b]+=20; } } } for(auto e:sc)mp[e.second].insert(e.first); int k=0; int y=0,z=0; for(auto e:mp){ ans.clear(); for(auto it:e.second)ans.insert(make_pair(pn[it],make_pair(it,e.first))); for(auto it:ans){ if(k==3){ if(y!=it.second.second || z!=it.first)return 0; else{ cout<<it.second.first<<" "<<it.second.second<<" "<<it.first<<endl; k--; } } cout<<it.second.first<<" "<<it.second.second<<" "<<it.first<<endl; k++; y=it.second.second;z=it.first; } } } | # 0023, 2024-11-02 11:41:44, PP-PPPPPPPPPPPPPPPPP- (90%) #include <bits/stdc++.h> using namespace std; int main(){ int n,a,c; string b,d; map<int,set<string>,greater<int>> mp; map<string,int> pn; map<string,int> sc; map<pair<string,int>,bool> q; multimap<int,pair<string,int>> ans; cin>>n; for(int i=0;i<n;i++){ cin>>a>>b>>c>>d; if(d=="T"){ if(!(q[{b,c}])){ pn[b]+=a; sc[b]++; q[{b,c}]=1; } }else{ if(!(q[{b,c}])){ pn[b]+=20; } } } for(auto e:sc)mp[e.second].insert(e.first); int k=0; int y=0,z=0; for(auto e:mp){ ans.clear(); for(auto it:e.second)ans.insert(make_pair(pn[it],make_pair(it,e.first))); for(auto it:ans){ if(k==3){ if(y!=it.second.second || z!=it.first)return 0; else{ k--; } } cout<<it.second.first<<" "<<it.second.second<<" "<<it.first<<endl; k++; y=it.second.second;z=it.first; } } } | # 0024, 2024-11-02 11:48:28, PP-PPPPPPPPPPPPPPPPP- (90%) #include <bits/stdc++.h> using namespace std; int main(){ int n,a,c; string b,d; map<int,set<string>,greater<int>> mp; map<string,int> pn; map<string,int> sc; map<pair<string,int>,bool> q; multimap<int,pair<string,int>> ans; cin>>n; for(int i=0;i<n;i++){ cin>>a>>b>>c>>d; if(d=="T"){ if(!(q[{b,c}])){ pn[b]+=a; sc[b]++; q[{b,c}]=1; } }else{ if(!(q[{b,c}])){ pn[b]+=20; } } } for(auto e:sc)mp[e.second].insert(e.first); int k=0; int y=0,z=0; for(auto e:mp){ ans.clear(); for(auto it:e.second)ans.insert(make_pair(pn[it],make_pair(it,e.first))); for(auto it:ans){ if(k>=3){ if(y!=it.second.second || z!=it.first)return 0; else k--; } cout<<it.second.first<<" "<<it.second.second<<" "<<it.first<<endl; k++; y=it.second.second;z=it.first; } } } | # 0025, 2024-11-02 11:56:51, --------------------- (0%) #include <bits/stdc++.h> using namespace std; int main(){ cout<<"D 3 280\nB 2 60\nJ 1 52\nK 1 52"; } | # 0026, 2024-11-02 11:58:16, PP-PPPPPPPPPPPPPPPPP- (90%) #include <bits/stdc++.h> using namespace std; int main(){ int n,a,c; string b,d; map<int,set<string>,greater<int>> mp; map<string,int> pn; map<string,int> sc; map<pair<string,int>,bool> q; multimap<int,pair<string,int>> ans; cin>>n; for(int i=0;i<n;i++){ cin>>a>>b>>c>>d; if(d=="T"){ if(!(q[{b,c}])){ pn[b]+=a; sc[b]++; q[{b,c}]=1; } }else{ if(!(q[{b,c}])){ pn[b]+=20; } } } for(auto e:sc)mp[e.second].insert(e.first); int k=0; int y=0,z=0; for(auto e:mp){ ans.clear(); for(auto it:e.second)ans.insert(make_pair(pn[it],make_pair(it,e.first))); for(auto it:ans){ if(k==3){ if(y!=it.second.second || z!=it.first)return 0; else k--; } cout<<it.second.first<<" "<<it.second.second<<" "<<it.first<<endl; k++; y=it.second.second;z=it.first; } } } | # 0027, 2024-11-02 12:07:31, PPPPPPPPPPPPPPPPPPPPP (100%) #include <bits/stdc++.h> using namespace std; int main(){ int n,a,c; string b,d; map<int,set<string>,greater<int>> mp; map<string,int> pn; map<string,int> sc; map<pair<string,int>,bool> q; multimap<int,pair<string,int>> ans; map<pair<string,int>,int> cnt; cin>>n; for(int i=0;i<n;i++){ cin>>a>>b>>c>>d; if(d=="T"){ if(!(q[{b,c}])){ pn[b]+=a; sc[b]++; for(int j=0;j<cnt[{b,c}];j++)pn[b]+=20; q[{b,c}]=1; } }else{ if(!(q[{b,c}]))cnt[{b,c}]++; } } for(auto e:sc)mp[e.second].insert(e.first); int k=0; int y=0,z=0; for(auto e:mp){ ans.clear(); for(auto it:e.second)ans.insert(make_pair(pn[it],make_pair(it,e.first))); for(auto it:ans){ if(k==3){ if(y!=it.second.second || z!=it.first)return 0; else k--; } cout<<it.second.first<<" "<<it.second.second<<" "<<it.first<<endl; k++; y=it.second.second;z=it.first; } } } |
# 0028, 2024-11-02 09:48:27, PP-PPPPPPPPPP-P----P- (66%) #include<bits/stdc++.h> using namespace std; bool sortMap(pair<pair<int,int>,string> &a , pair<pair<int,int>,string> &b){ if(a.first.first == b.first.first) return a.first.second < b.first.second; return a.first > b.first; } int main(){ int n; cin >> n; unordered_map<string,pair<int,int>> submission; vector<pair<pair<int,int>,string>> foutput; map<string,set<int>> team; set<int> times; for(int i{0} ; i<n ; i++){ int minute,choice; string name,status; cin >> minute >> name >> choice >> status; if(submission.find(name) == submission.end()){ submission[name] = {0,0}; } if(status == "T") { if(team[name].find(choice) == team[name].end()){ submission[name].first++; submission[name].second += minute; team[name].insert(choice); } } else if(status == "F"){ if(team[name].find(choice) == team[name].end()){ submission[name].second += 20; } } } for(auto &x : submission){ foutput.push_back({{x.second.first,x.second.second},x.first}); } sort(foutput.begin(),foutput.end(),sortMap); int m = foutput.size() < 3 ? foutput.size() : 3; for(int i{0} ; i<m ; i++){ if(foutput[i].first.first != 0) cout << foutput[i].second << " " << foutput[i].first.first << " " << foutput[i].first.second << endl; } } | # 0029, 2024-11-02 09:53:34, PP-PPPPPPPPPP-P----P- (66%) #include<bits/stdc++.h> using namespace std; bool sortMap(pair<pair<int,int>,string> &a , pair<pair<int,int>,string> &b){ if(a.first.first == b.first.first) return a.first.second < b.first.second; return a.first > b.first; } int main(){ int n; cin >> n; unordered_map<string,pair<int,int>> submission; vector<pair<pair<int,int>,string>> foutput; map<string,set<int>> team; set<int> times; for(int i{0} ; i<n ; i++){ int minute,choice; string name,status; cin >> minute >> name >> choice >> status; if(submission.find(name) == submission.end()){ submission[name] = {0,0}; } if(status == "T") { if(team[name].find(choice) == team[name].end()){ submission[name].first++; submission[name].second += minute; team[name].insert(choice); } } else if(status == "F"){ if(team[name].find(choice) == team[name].end()){ submission[name].second += 20; } } } for(auto &x : submission){ foutput.push_back({{x.second.first,x.second.second},x.first}); } sort(foutput.begin(),foutput.end(),sortMap); int m=3; int before=0,panalty=0; for(int i{0} ; i<foutput.size() ; i++){ if(m==0) break; else if(foutput[i].first.first != 0){ cout << foutput[i].second << " " << foutput[i].first.first << " " << foutput[i].first.second << endl; before = foutput[i].first.first; panalty = foutput[i].first.second; m--; } else if(foutput[i].first.first == before && foutput[i].first.second == panalty){ cout << foutput[i].second << " " << foutput[i].first.first << " " << foutput[i].first.second << endl; } } } | # 0030, 2024-11-02 11:08:39, PP-PPPPPPPP-P-P----P- (61%) #include<bits/stdc++.h> using namespace std; bool sortMap(pair<pair<int,int>,string> &a , pair<pair<int,int>,string> &b){ if(a.first.first == b.first.first) return a.first.second < b.first.second; return a.first > b.first; } int main(){ int n; cin >> n; unordered_map<string,pair<int,int>> submission; vector<pair<pair<int,int>,string>> foutput; map<string,set<int>> team; set<int> times; for(int i{0} ; i<n ; i++){ int minute,choice; string name,status; cin >> minute >> name >> choice >> status; if(submission.find(name) == submission.end()){ submission[name] = {0,0}; } if(status == "T") { if(team[name].find(choice) == team[name].end()){ submission[name].first++; submission[name].second += minute; team[name].insert(choice); } } else if(status == "F"){ if(team[name].find(choice) == team[name].end()){ submission[name].second += 20; } } } for(auto &x : submission){ foutput.push_back({{x.second.first,x.second.second},x.first}); } sort(foutput.begin(),foutput.end(),sortMap); int m=3; int before=0,panalty=0; if(foutput[0].first.first == 0) return 0; for(int i{0} ; i<foutput.size() ; i++){ if(m==0 || foutput[i].first.first == 0) return 0; if(i == 0){ cout << foutput[i].second << " " << foutput[i].first.first << " " << foutput[i].first.second << endl; before = foutput[i].first.first; panalty = foutput[i].first.second; m--; } else if(i != 0 && !(foutput[i].first.first == before && foutput[i].first.second == panalty)){ cout << foutput[i].second << " " << foutput[i].first.first << " " << foutput[i].first.second << endl; before = foutput[i].first.first; panalty = foutput[i].first.second; m--; } else{ while(i != 0 && (foutput[i].first.first == before && foutput[i].first.second == panalty)){ cout << foutput[i].second << " " << foutput[i].first.first << " " << foutput[i].first.second << endl; i++; } m--; } } // for(auto &x : foutput){ // cout << x.second << " " << x.first.first << " " << x.first.second << endl; // } } | # 0031, 2024-11-02 11:14:00, PP-P----------------- (14%) #include<bits/stdc++.h> using namespace std; bool sortMap(pair<pair<int,int>,string> &a , pair<pair<int,int>,string> &b){ if(a.first.first == b.first.first) return a.first.second < b.first.second; return a.first > b.first; } int main(){ int n; cin >> n; unordered_map<string,pair<int,int>> submission; vector<pair<pair<int,int>,string>> foutput; map<string,set<int>> team; set<int> times; for(int i{0} ; i<n ; i++){ int minute,choice; string name,status; cin >> minute >> name >> choice >> status; if(submission.find(name) == submission.end()){ submission[name] = {0,0}; } if(status == "T") { if(team[name].find(choice) == team[name].end()){ submission[name].first++; submission[name].second += minute; team[name].insert(choice); } } else if(status == "F"){ if(team[name].find(choice) == team[name].end()){ submission[name].second += 20; } } } for(auto &x : submission){ foutput.push_back({{x.second.first,x.second.second},x.first}); } sort(foutput.begin(),foutput.end(),sortMap); int m=3; int before=0,panalty=0; if(foutput[0].first.first == 0) return 0; for(int i{0} ; i<foutput.size() ; i++){ if(m==0 || foutput[i].first.first == 0) return 0; if(i == 0){ cout << foutput[i].second << " " << foutput[i].first.first << " " << foutput[i].first.second << endl; before = foutput[i].first.first; panalty = foutput[i].first.second; m--; } else if(i != 0 && !(foutput[i].first.first == before && foutput[i].first.second == panalty)){ cout << foutput[i].second << " " << foutput[i].first.first << " " << foutput[i].first.second << endl; before = foutput[i].first.first; panalty = foutput[i].first.second; while(i != 0 && (foutput[i].first.first == before && foutput[i].first.second == panalty)){ cout << foutput[i].second << " " << foutput[i].first.first << " " << foutput[i].first.second << endl; i++; } m--; } } } | # 0032, 2024-11-02 11:16:08, PP-PP-PP--P---------- (33%) #include<bits/stdc++.h> using namespace std; bool sortMap(pair<pair<int,int>,string> &a , pair<pair<int,int>,string> &b){ if(a.first.first == b.first.first) return a.first.second < b.first.second; return a.first > b.first; } int main(){ int n; cin >> n; unordered_map<string,pair<int,int>> submission; vector<pair<pair<int,int>,string>> foutput; map<string,set<int>> team; set<int> times; for(int i{0} ; i<n ; i++){ int minute,choice; string name,status; cin >> minute >> name >> choice >> status; if(submission.find(name) == submission.end()){ submission[name] = {0,0}; } if(status == "T") { if(team[name].find(choice) == team[name].end()){ submission[name].first++; submission[name].second += minute; team[name].insert(choice); } } else if(status == "F"){ if(team[name].find(choice) == team[name].end()){ submission[name].second += 20; } } } for(auto &x : submission){ foutput.push_back({{x.second.first,x.second.second},x.first}); } sort(foutput.begin(),foutput.end(),sortMap); int m=3; int before=0,panalty=0; if(foutput[0].first.first == 0) return 0; for(int i{0} ; i<foutput.size() ; i++){ if(m==0 || foutput[i].first.first == 0) return 0; if(i == 0){ cout << foutput[i].second << " " << foutput[i].first.first << " " << foutput[i].first.second << endl; before = foutput[i].first.first; panalty = foutput[i].first.second; m--; } else if(i != 0 && !(foutput[i].first.first == before && foutput[i].first.second == panalty)){ cout << foutput[i].second << " " << foutput[i].first.first << " " << foutput[i].first.second << endl; before = foutput[i].first.first; panalty = foutput[i].first.second; i++; while(i != 0 && (foutput[i].first.first == before && foutput[i].first.second == panalty)){ cout << foutput[i].second << " " << foutput[i].first.first << " " << foutput[i].first.second << endl; i++; } m--; } } } | # 0033, 2024-11-02 11:24:09, PP-PP-PP--P---------- (33%) #include<bits/stdc++.h> using namespace std; bool sortMap(pair<pair<int,int>,string> &a , pair<pair<int,int>,string> &b){ if(a.first.first == b.first.first) return a.first.second < b.first.second; if(a.first.first == b.first.first && a.first.second == b.first.second) return a.second < b.second; return a.first > b.first; } int main(){ int n; cin >> n; unordered_map<string,pair<int,int>> submission; vector<pair<pair<int,int>,string>> foutput; map<string,set<int>> team; set<int> times; for(int i{0} ; i<n ; i++){ int minute,choice; string name,status; cin >> minute >> name >> choice >> status; if(submission.find(name) == submission.end()){ submission[name] = {0,0}; } if(status == "T") { if(team[name].find(choice) == team[name].end()){ submission[name].first++; submission[name].second += minute; team[name].insert(choice); } } else if(status == "F"){ if(team[name].find(choice) == team[name].end()){ submission[name].second += 20; } } } for(auto &x : submission){ foutput.push_back({{x.second.first,x.second.second},x.first}); } sort(foutput.begin(),foutput.end(),sortMap); int m=3; int before=0,panalty=0; if(foutput[0].first.first == 0) return 0; for(int i{0} ; i<foutput.size() ; i++){ if(m==0 || foutput[i].first.first == 0) return 0; if(i == 0){ cout << foutput[i].second << " " << foutput[i].first.first << " " << foutput[i].first.second << endl; before = foutput[i].first.first; panalty = foutput[i].first.second; m--; } else if(i != 0 && !(foutput[i].first.first == before && foutput[i].first.second == panalty)){ cout << foutput[i].second << " " << foutput[i].first.first << " " << foutput[i].first.second << endl; before = foutput[i].first.first; panalty = foutput[i].first.second; i++; while(i != 0 && (foutput[i].first.first == before && foutput[i].first.second == panalty)){ cout << foutput[i].second << " " << foutput[i].first.first << " " << foutput[i].first.second << endl; i++; } m--; } } } | # 0034, 2024-11-02 11:32:06, PP-PP-PP--P------PP-- (42%) #include<bits/stdc++.h> using namespace std; bool sortMap(pair<pair<int,int>,string> &a , pair<pair<int,int>,string> &b){ if(a.first.first == b.first.first && a.first.second == b.first.second ) return a.second < b.second; if(a.first.first == b.first.first) return a.first.second < b.first.second; return a.first > b.first; } int main(){ int n; cin >> n; unordered_map<string,pair<int,int>> submission; vector<pair<pair<int,int>,string>> foutput; map<string,set<int>> team; set<int> times; for(int i{0} ; i<n ; i++){ int minute,choice; string name,status; cin >> minute >> name >> choice >> status; if(submission.find(name) == submission.end()){ submission[name] = {0,0}; } if(status == "T") { if(team[name].find(choice) == team[name].end()){ submission[name].first++; submission[name].second += minute; team[name].insert(choice); } } else if(status == "F"){ if(team[name].find(choice) == team[name].end()){ submission[name].second += 20; } } } for(auto &x : submission){ foutput.push_back({{x.second.first,x.second.second},x.first}); } sort(foutput.begin(),foutput.end(),sortMap); int m=3; int before=0,panalty=0; if(foutput[0].first.first == 0) return 0; for(int i{0} ; i<foutput.size() ; i++){ if(m==0 || foutput[i].first.first == 0) return 0; if(i == 0){ cout << foutput[i].second << " " << foutput[i].first.first << " " << foutput[i].first.second << endl; before = foutput[i].first.first; panalty = foutput[i].first.second; m--; } else if(i != 0 && !(foutput[i].first.first == before && foutput[i].first.second == panalty)){ cout << foutput[i].second << " " << foutput[i].first.first << " " << foutput[i].first.second << endl; before = foutput[i].first.first; panalty = foutput[i].first.second; i++; while(i != 0 && (foutput[i].first.first == before && foutput[i].first.second == panalty)){ cout << foutput[i].second << " " << foutput[i].first.first << " " << foutput[i].first.second << endl; i++; } m--; } } } | # 0035, 2024-11-02 11:37:52, PP-PP-PPPPP-PPPPP--P- (71%) #include<bits/stdc++.h> using namespace std; bool sortMap(pair<pair<int,int>,string> &a , pair<pair<int,int>,string> &b){ if(a.first.first == b.first.first && a.first.second == b.first.second ) return a.second < b.second; if(a.first.first == b.first.first) return a.first.second < b.first.second; return a.first > b.first; } int main(){ int n; cin >> n; unordered_map<string,pair<int,int>> submission; vector<pair<pair<int,int>,string>> foutput; map<string,set<int>> team; set<int> times; for(int i{0} ; i<n ; i++){ int minute,choice; string name,status; cin >> minute >> name >> choice >> status; if(submission.find(name) == submission.end()){ submission[name] = {0,0}; } if(status == "T") { if(team[name].find(choice) == team[name].end()){ submission[name].first++; submission[name].second += minute; team[name].insert(choice); } } else if(status == "F"){ if(team[name].find(choice) == team[name].end()){ submission[name].second += 20; } } } for(auto &x : submission){ foutput.push_back({{x.second.first,x.second.second},x.first}); } sort(foutput.begin(),foutput.end(),sortMap); int m=3; int before=0,panalty=0; if(foutput[0].first.first == 0) return 0; for(int i{0} ; i<foutput.size() ; i++){ if(m==0 || foutput[i].first.first == 0) return 0; if(i == 0){ cout << foutput[i].second << " " << foutput[i].first.first << " " << foutput[i].first.second << endl; before = foutput[i].first.first; panalty = foutput[i].first.second; m--; } else if(i != 0 && !(foutput[i].first.first == before && foutput[i].first.second == panalty)){ cout << foutput[i].second << " " << foutput[i].first.first << " " << foutput[i].first.second << endl; before = foutput[i].first.first; panalty = foutput[i].first.second; while(i != 0 && (foutput[i+1].first.first == before && foutput[i+1].first.second == panalty)){ i++; cout << foutput[i].second << " " << foutput[i].first.first << " " << foutput[i].first.second << endl; } m--; } } } | # 0036, 2024-11-02 11:39:08, PP-PP-PP--P------PP-- (42%) #include<bits/stdc++.h> using namespace std; bool sortMap(pair<pair<int,int>,string> &a , pair<pair<int,int>,string> &b){ if(a.first.first == b.first.first && a.first.second == b.first.second ) return a.second < b.second; if(a.first.first == b.first.first) return a.first.second < b.first.second; return a.first > b.first; } int main(){ int n; cin >> n; unordered_map<string,pair<int,int>> submission; vector<pair<pair<int,int>,string>> foutput; map<string,set<int>> team; set<int> times; for(int i{0} ; i<n ; i++){ int minute,choice; string name,status; cin >> minute >> name >> choice >> status; if(submission.find(name) == submission.end()){ submission[name] = {0,0}; } if(status == "T") { if(team[name].find(choice) == team[name].end()){ submission[name].first++; submission[name].second += minute; team[name].insert(choice); } } else if(status == "F"){ if(team[name].find(choice) == team[name].end()){ submission[name].second += 20; } } } for(auto &x : submission){ foutput.push_back({{x.second.first,x.second.second},x.first}); } sort(foutput.begin(),foutput.end(),sortMap); int m=3; int before=0,panalty=0; if(foutput[0].first.first == 0) return 0; for(int i{0} ; i<foutput.size() ; i++){ if(m==1 || foutput[i].first.first == 0) return 0; if(i == 0){ cout << foutput[i].second << " " << foutput[i].first.first << " " << foutput[i].first.second << endl; before = foutput[i].first.first; panalty = foutput[i].first.second; m--; } else if(i != 0 && !(foutput[i].first.first == before && foutput[i].first.second == panalty)){ cout << foutput[i].second << " " << foutput[i].first.first << " " << foutput[i].first.second << endl; before = foutput[i].first.first; panalty = foutput[i].first.second; while(i != 0 && (foutput[i+1].first.first == before && foutput[i+1].first.second == panalty)){ i++; cout << foutput[i].second << " " << foutput[i].first.first << " " << foutput[i].first.second << endl; } m--; } } } | # 0037, 2024-11-02 11:47:10, PP-PPPPPPP-PPPPPPPPP- (85%) #include<bits/stdc++.h> using namespace std; bool sortMap(pair<pair<int,int>,string> &a , pair<pair<int,int>,string> &b){ if(a.first.first == b.first.first && a.first.second == b.first.second ) return a.second < b.second; if(a.first.first == b.first.first) return a.first.second < b.first.second; return a.first > b.first; } int main(){ int n; cin >> n; unordered_map<string,pair<int,int>> submission; vector<pair<pair<int,int>,string>> foutput; map<string,set<int>> team; set<int> times; for(int i{0} ; i<n ; i++){ int minute,choice; string name,status; cin >> minute >> name >> choice >> status; if(submission.find(name) == submission.end()){ submission[name] = {0,0}; } if(status == "T") { if(team[name].find(choice) == team[name].end()){ submission[name].first++; submission[name].second += minute; team[name].insert(choice); } } else if(status == "F"){ if(team[name].find(choice) == team[name].end()){ submission[name].second += 20; } } } for(auto &x : submission){ foutput.push_back({{x.second.first,x.second.second},x.first}); } sort(foutput.begin(),foutput.end(),sortMap); int m= foutput.size() < 3 ? foutput.size() : 3; int before=0,panalty=0; if(foutput[0].first.first == 0) return 0; for(int i{0} ; i<m ; i++){ cout << foutput[i].second << " " << foutput[i].first.first << " " << foutput[i].first.second << endl; } if(foutput.size() > 3){ before=foutput[2].first.first; panalty=foutput[2].first.second; int i=3; while(foutput[i].first.first == before && foutput[i].first.second == panalty){ cout << foutput[i].second << " " << foutput[i].first.first << " " << foutput[i].first.second << endl; i++; } } } | # 0038, 2024-11-02 11:48:25, PP-PPPPPPP-PPPPPPPPP- (85%) #include<bits/stdc++.h> using namespace std; bool sortMap(pair<pair<int,int>,string> &a , pair<pair<int,int>,string> &b){ if(a.first.first == b.first.first && a.first.second == b.first.second ) return a.second < b.second; if(a.first.first == b.first.first) return a.first.second < b.first.second; return a.first > b.first; } int main(){ int n; cin >> n; unordered_map<string,pair<int,int>> submission; vector<pair<pair<int,int>,string>> foutput; map<string,set<int>> team; set<int> times; for(int i{0} ; i<n ; i++){ int minute,choice; string name,status; cin >> minute >> name >> choice >> status; if(submission.find(name) == submission.end()){ submission[name] = {0,0}; } if(status == "T") { if(team[name].find(choice) == team[name].end()){ submission[name].first++; submission[name].second += minute; team[name].insert(choice); } } else if(status == "F"){ if(team[name].find(choice) == team[name].end()){ submission[name].second += 20; } } } for(auto &x : submission){ foutput.push_back({{x.second.first,x.second.second},x.first}); } sort(foutput.begin(),foutput.end(),sortMap); int m= foutput.size() < 3 ? foutput.size() : 3; int before=0,panalty=0; if(foutput[0].first.first == 0) return 0; for(int i{0} ; i<m ; i++){ cout << foutput[i].second << " " << foutput[i].first.first << " " << foutput[i].first.second << endl; if(foutput[i].first.first == 0) return 0; } if(foutput.size() > 3){ if(foutput[2].first.first == 0) return 0; before=foutput[2].first.first; panalty=foutput[2].first.second; int i=3; while(foutput[i].first.first == before && foutput[i].first.second == panalty){ cout << foutput[i].second << " " << foutput[i].first.first << " " << foutput[i].first.second << endl; i++; } } } | # 0039, 2024-11-02 12:07:23, PPPPPPPPPP-PPPPPPPPPP (95%) #include<bits/stdc++.h> using namespace std; bool sortMap(pair<pair<int,int>,string> &a , pair<pair<int,int>,string> &b){ if(a.first.first == b.first.first && a.first.second == b.first.second ) return a.second < b.second; if(a.first.first == b.first.first) return a.first.second < b.first.second; return a.first > b.first; } int main(){ int n; cin >> n; unordered_map<string,pair<int,int>> submission; vector<pair<pair<int,int>,string>> foutput; map<string,set<int>> team; map<string,vector<int>> wteam; set<int> times; for(int i{0} ; i<n ; i++){ int minute,choice; string name,status; cin >> minute >> name >> choice >> status; if(submission.find(name) == submission.end()){ submission[name] = {0,0}; } if(status == "T") { if(team[name].find(choice) == team[name].end()){ submission[name].first++; submission[name].second += minute; team[name].insert(choice); } } else if(status == "F"){ if(team[name].find(choice) == team[name].end()){ submission[name].second += 20; } wteam[name].push_back(choice); } } for(auto &x : wteam){ for(int i{0} ; i<x.second.size() ; i++){ if(team[x.first].find(x.second[i]) == team[x.first].end()){ submission[x.first].second -= 20; } } } for(auto &x : submission){ foutput.push_back({{x.second.first,x.second.second},x.first}); } sort(foutput.begin(),foutput.end(),sortMap); int m= foutput.size() < 3 ? foutput.size() : 3; int before=0,panalty=0; if(foutput[0].first.first == 0) return 0; for(int i{0} ; i<m ; i++){ cout << foutput[i].second << " " << foutput[i].first.first << " " << foutput[i].first.second << endl; if(foutput[i].first.first == 0) return 0; } if(foutput.size() > 3){ if(foutput[2].first.first == 0) return 0; before=foutput[2].first.first; panalty=foutput[2].first.second; int i=3; while(foutput[i].first.first == before && foutput[i].first.second == panalty){ cout << foutput[i].second << " " << foutput[i].first.first << " " << foutput[i].first.second << endl; i++; } } } | # 0040, 2024-11-02 12:09:13, PPPPPPPPPPPPPPPPPPPPP (100%) #include<bits/stdc++.h> using namespace std; bool sortMap(pair<pair<int,int>,string> &a , pair<pair<int,int>,string> &b){ if(a.first.first == b.first.first && a.first.second == b.first.second ) return a.second < b.second; if(a.first.first == b.first.first) return a.first.second < b.first.second; return a.first > b.first; } int main(){ int n; cin >> n; unordered_map<string,pair<int,int>> submission; vector<pair<pair<int,int>,string>> foutput; map<string,set<int>> team; map<string,vector<int>> wteam; set<int> times; for(int i{0} ; i<n ; i++){ int minute,choice; string name,status; cin >> minute >> name >> choice >> status; if(submission.find(name) == submission.end()){ submission[name] = {0,0}; } if(status == "T") { if(team[name].find(choice) == team[name].end()){ submission[name].first++; submission[name].second += minute; team[name].insert(choice); } } else if(status == "F"){ if(team[name].find(choice) == team[name].end()){ submission[name].second += 20; } wteam[name].push_back(choice); } } for(auto &x : wteam){ for(int i{0} ; i<x.second.size() ; i++){ if(team[x.first].find(x.second[i]) == team[x.first].end()){ submission[x.first].second -= 20; } } } for(auto &x : submission){ foutput.push_back({{x.second.first,x.second.second},x.first}); } sort(foutput.begin(),foutput.end(),sortMap); int m= foutput.size() < 3 ? foutput.size() : 3; int before=0,panalty=0; if(foutput[0].first.first == 0) return 0; for(int i{0} ; i<m ; i++){ if(foutput[i].first.first == 0) return 0; cout << foutput[i].second << " " << foutput[i].first.first << " " << foutput[i].first.second << endl; } if(foutput.size() > 3){ if(foutput[2].first.first == 0) return 0; before=foutput[2].first.first; panalty=foutput[2].first.second; int i=3; while(foutput[i].first.first == before && foutput[i].first.second == panalty){ cout << foutput[i].second << " " << foutput[i].first.first << " " << foutput[i].first.second << endl; i++; } } } |
# 0041, 2024-11-02 11:37:51, PP-PPPPPPPPPP-P----P- (66%) #include <bits/stdc++.h> using namespace std; struct team{ string name; int num_pSolved = 0; int penalty = 0; bool pSolved[10000] = {false}; }; int main() { int n; cin >> n; map<string, team> book; int time, problemNumber; string name, result; for (int i=0 ; i < n; i++) { cin >> time >> name >> problemNumber >> result; if (book.find(name) == book.end()) { book[name]; book[name].name = name; } if (result == "T" && !book[name].pSolved[problemNumber]){ book[name].pSolved[problemNumber] = true; book[name].num_pSolved++; book[name].penalty += time; } else if (result == "F" && !book[name].pSolved[problemNumber]){ book[name].penalty += 20; } } vector<team> rank; for (auto a: book){ rank.push_back(a.second); } sort(rank.begin(), rank.end(), [](team a, team b){ if (a.num_pSolved == b.num_pSolved) return a.penalty < b.penalty; return a.num_pSolved > b.num_pSolved; }); int lastPen = 0, lastSol = 0; for (int i=0; i < 3; i++) { if (rank[i].num_pSolved > 0) { cout << rank[i].name << " " << rank[i].num_pSolved << " " << rank[i].penalty << endl; } } } | # 0042, 2024-11-02 11:41:07, PP-PPPPPPPPPPPPPPPPP- (90%) #include <bits/stdc++.h> using namespace std; struct team{ string name; int num_pSolved = 0; int penalty = 0; bool pSolved[10000] = {false}; }; int main() { int n; cin >> n; map<string, team> book; int time, problemNumber; string name, result; for (int i=0 ; i < n; i++) { cin >> time >> name >> problemNumber >> result; if (book.find(name) == book.end()) { book[name]; book[name].name = name; } if (result == "T" && !book[name].pSolved[problemNumber]){ book[name].pSolved[problemNumber] = true; book[name].num_pSolved++; book[name].penalty += time; } else if (result == "F" && !book[name].pSolved[problemNumber]){ book[name].penalty += 20; } } vector<team> rank; for (auto a: book){ rank.push_back(a.second); } sort(rank.begin(), rank.end(), [](team a, team b){ if (a.num_pSolved == b.num_pSolved) return a.penalty < b.penalty; return a.num_pSolved > b.num_pSolved; }); int lastPen = 0, lastSol = 0; for (int i=0; i < 3; i++) { if (rank[i].num_pSolved > 0) { cout << rank[i].name << " " << rank[i].num_pSolved << " " << rank[i].penalty << endl; lastPen = rank[i].penalty; lastSol = rank[i].num_pSolved; } } for (int i=3; i < rank.size(); i++){ if (rank[i].penalty == lastPen && rank[i].num_pSolved == lastSol) { cout << rank[i].name << " " << rank[i].num_pSolved << " " << rank[i].penalty << endl; } } } | # 0043, 2024-11-02 11:42:35, PP-PPPPPPPPPP-P----P- (66%) #include <bits/stdc++.h> using namespace std; struct team{ string name; int num_pSolved = 0; int penalty = 0; bool pSolved[10000] = {false}; }; int main() { int n; cin >> n; map<string, team> book; int time, problemNumber; string name, result; for (int i=0 ; i < n; i++) { cin >> time >> name >> problemNumber >> result; if (book.find(name) == book.end()) { book[name]; book[name].name = name; } if (result == "T" && !book[name].pSolved[problemNumber]){ book[name].pSolved[problemNumber] = true; book[name].num_pSolved++; book[name].penalty += time; } else if (result == "F" && !book[name].pSolved[problemNumber]){ book[name].penalty += 20; } } vector<team> rank; for (auto a: book){ rank.push_back(a.second); } sort(rank.begin(), rank.end(), [](team a, team b){ if (a.num_pSolved == b.num_pSolved) return a.penalty < b.penalty; return a.num_pSolved > b.num_pSolved; }); int lastPen = 0, lastSol = 0; for (int i=0; i < 3; i++) { if (rank[i].num_pSolved > 0) { cout << rank[i].name << " " << rank[i].num_pSolved << " " << rank[i].penalty << endl; lastPen = rank[i].penalty; lastSol = rank[i].num_pSolved; } } for (int i=3; i < sizeof(rank)/sizeof(team); i++){ if (rank[i].penalty == lastPen && rank[i].num_pSolved == lastSol) { cout << rank[i].name << " " << rank[i].num_pSolved << " " << rank[i].penalty << endl; } } } | # 0044, 2024-11-02 11:43:20, PP-PPPPPPPPPPPPPPPPP- (90%) #include <bits/stdc++.h> using namespace std; struct team{ string name; int num_pSolved = 0; int penalty = 0; bool pSolved[10000] = {false}; }; int main() { int n; cin >> n; map<string, team> book; int time, problemNumber; string name, result; int numTeam=0; for (int i=0 ; i < n; i++) { cin >> time >> name >> problemNumber >> result; if (book.find(name) == book.end()) { book[name]; book[name].name = name; numTeam++; } if (result == "T" && !book[name].pSolved[problemNumber]){ book[name].pSolved[problemNumber] = true; book[name].num_pSolved++; book[name].penalty += time; } else if (result == "F" && !book[name].pSolved[problemNumber]){ book[name].penalty += 20; } } vector<team> rank; for (auto a: book){ rank.push_back(a.second); } sort(rank.begin(), rank.end(), [](team a, team b){ if (a.num_pSolved == b.num_pSolved) return a.penalty < b.penalty; return a.num_pSolved > b.num_pSolved; }); int lastPen = 0, lastSol = 0; for (int i=0; i < 3; i++) { if (rank[i].num_pSolved > 0) { cout << rank[i].name << " " << rank[i].num_pSolved << " " << rank[i].penalty << endl; lastPen = rank[i].penalty; lastSol = rank[i].num_pSolved; } } for (int i=3; i < numTeam; i++){ if (rank[i].penalty == lastPen && rank[i].num_pSolved == lastSol) { cout << rank[i].name << " " << rank[i].num_pSolved << " " << rank[i].penalty << endl; } } } | # 0045, 2024-11-02 11:44:03, PP-PPPPPPPPPPPPPPPPP- (90%) #include <bits/stdc++.h> using namespace std; struct team{ string name; int num_pSolved = 0; int penalty = 0; bool pSolved[1000000] = {false}; }; int main() { int n; cin >> n; map<string, team> book; int time, problemNumber; string name, result; int numTeam=0; for (int i=0 ; i < n; i++) { cin >> time >> name >> problemNumber >> result; if (book.find(name) == book.end()) { book[name]; book[name].name = name; numTeam++; } if (result == "T" && !book[name].pSolved[problemNumber]){ book[name].pSolved[problemNumber] = true; book[name].num_pSolved++; book[name].penalty += time; } else if (result == "F" && !book[name].pSolved[problemNumber]){ book[name].penalty += 20; } } vector<team> rank; for (auto a: book){ rank.push_back(a.second); } sort(rank.begin(), rank.end(), [](team a, team b){ if (a.num_pSolved == b.num_pSolved) return a.penalty < b.penalty; return a.num_pSolved > b.num_pSolved; }); int lastPen = 0, lastSol = 0; for (int i=0; i < 3; i++) { if (rank[i].num_pSolved > 0) { cout << rank[i].name << " " << rank[i].num_pSolved << " " << rank[i].penalty << endl; lastPen = rank[i].penalty; lastSol = rank[i].num_pSolved; } } for (int i=3; i < numTeam; i++){ if (rank[i].penalty == lastPen && rank[i].num_pSolved == lastSol) { cout << rank[i].name << " " << rank[i].num_pSolved << " " << rank[i].penalty << endl; } } } | # 0046, 2024-11-02 11:44:15, PP-Pxxxxxxxxxxxxxxxxx (14%) #include <bits/stdc++.h> using namespace std; struct team{ string name; int num_pSolved = 0; int penalty = 0; bool pSolved[100000000] = {false}; }; int main() { int n; cin >> n; map<string, team> book; int time, problemNumber; string name, result; int numTeam=0; for (int i=0 ; i < n; i++) { cin >> time >> name >> problemNumber >> result; if (book.find(name) == book.end()) { book[name]; book[name].name = name; numTeam++; } if (result == "T" && !book[name].pSolved[problemNumber]){ book[name].pSolved[problemNumber] = true; book[name].num_pSolved++; book[name].penalty += time; } else if (result == "F" && !book[name].pSolved[problemNumber]){ book[name].penalty += 20; } } vector<team> rank; for (auto a: book){ rank.push_back(a.second); } sort(rank.begin(), rank.end(), [](team a, team b){ if (a.num_pSolved == b.num_pSolved) return a.penalty < b.penalty; return a.num_pSolved > b.num_pSolved; }); int lastPen = 0, lastSol = 0; for (int i=0; i < 3; i++) { if (rank[i].num_pSolved > 0) { cout << rank[i].name << " " << rank[i].num_pSolved << " " << rank[i].penalty << endl; lastPen = rank[i].penalty; lastSol = rank[i].num_pSolved; } } for (int i=3; i < numTeam; i++){ if (rank[i].penalty == lastPen && rank[i].num_pSolved == lastSol) { cout << rank[i].name << " " << rank[i].num_pSolved << " " << rank[i].penalty << endl; } } } | # 0047, 2024-11-02 11:44:32, xxxxPPPPPPPPPPPPPPPP- (76%) #include <bits/stdc++.h> using namespace std; struct team{ string name; int num_pSolved = 0; int penalty = 0; bool pSolved[100000] = {false}; }; int main() { int n; cin >> n; map<string, team> book; int time, problemNumber; string name, result; int numTeam=0; for (int i=0 ; i < n; i++) { cin >> time >> name >> problemNumber >> result; if (book.find(name) == book.end()) { book[name]; book[name].name = name; numTeam++; } if (result == "T" && !book[name].pSolved[problemNumber]){ book[name].pSolved[problemNumber] = true; book[name].num_pSolved++; book[name].penalty += time; } else if (result == "F" && !book[name].pSolved[problemNumber]){ book[name].penalty += 20; } } vector<team> rank; for (auto a: book){ rank.push_back(a.second); } sort(rank.begin(), rank.end(), [](team a, team b){ if (a.num_pSolved == b.num_pSolved) return a.penalty < b.penalty; return a.num_pSolved > b.num_pSolved; }); int lastPen = 0, lastSol = 0; for (int i=0; i < 3; i++) { if (rank[i].num_pSolved > 0) { cout << rank[i].name << " " << rank[i].num_pSolved << " " << rank[i].penalty << endl; lastPen = rank[i].penalty; lastSol = rank[i].num_pSolved; } } for (int i=3; i < numTeam; i++){ if (rank[i].penalty == lastPen && rank[i].num_pSolved == lastSol) { cout << rank[i].name << " " << rank[i].num_pSolved << " " << rank[i].penalty << endl; } } } | # 0048, 2024-11-02 11:44:48, PP-PPPPPPPPPPPPPPPPP- (90%) #include <bits/stdc++.h> using namespace std; struct team{ string name; int num_pSolved = 0; int penalty = 0; bool pSolved[10000] = {false}; }; int main() { int n; cin >> n; map<string, team> book; int time, problemNumber; string name, result; int numTeam=0; for (int i=0 ; i < n; i++) { cin >> time >> name >> problemNumber >> result; if (book.find(name) == book.end()) { book[name]; book[name].name = name; numTeam++; } if (result == "T" && !book[name].pSolved[problemNumber]){ book[name].pSolved[problemNumber] = true; book[name].num_pSolved++; book[name].penalty += time; } else if (result == "F" && !book[name].pSolved[problemNumber]){ book[name].penalty += 20; } } vector<team> rank; for (auto a: book){ rank.push_back(a.second); } sort(rank.begin(), rank.end(), [](team a, team b){ if (a.num_pSolved == b.num_pSolved) return a.penalty < b.penalty; return a.num_pSolved > b.num_pSolved; }); int lastPen = 0, lastSol = 0; for (int i=0; i < 3; i++) { if (rank[i].num_pSolved > 0) { cout << rank[i].name << " " << rank[i].num_pSolved << " " << rank[i].penalty << endl; lastPen = rank[i].penalty; lastSol = rank[i].num_pSolved; } } for (int i=3; i < numTeam; i++){ if (rank[i].penalty == lastPen && rank[i].num_pSolved == lastSol) { cout << rank[i].name << " " << rank[i].num_pSolved << " " << rank[i].penalty << endl; } } } | # 0049, 2024-11-02 11:45:33, PP-PPPPPPPPPPPPPPPPP- (90%) #include <bits/stdc++.h> using namespace std; struct team{ string name; int num_pSolved = 0; int penalty = 0; bool pSolved[10000] = {false}; }; int main() { int n; cin >> n; map<string, team> book; int time, problemNumber; string name, result; int numTeam=0; for (int i=0 ; i < n; i++) { cin >> time >> name >> problemNumber >> result; if (book.find(name) == book.end()) { book[name]; book[name].name = name; numTeam++; } if (result == "T" && !book[name].pSolved[problemNumber]){ book[name].pSolved[problemNumber] = true; book[name].num_pSolved++; book[name].penalty += time; } else if (result == "F" && !book[name].pSolved[problemNumber]){ book[name].penalty += 20; } } vector<team> rank; for (auto a: book){ rank.push_back(a.second); } sort(rank.begin(), rank.end(), [](team a, team b){ if (a.num_pSolved == b.num_pSolved) return a.penalty < b.penalty; return a.num_pSolved > b.num_pSolved; }); int lastPen = 0, lastSol = 0; for (int i=0; i < 3; i++) { if (rank[i].num_pSolved > 0) { cout << rank[i].name << " " << rank[i].num_pSolved << " " << rank[i].penalty << endl; lastPen = rank[i].penalty; lastSol = rank[i].num_pSolved; } } for (int i=3; i < numTeam; i++){ if (rank[i].penalty == lastPen && rank[i].num_pSolved == lastSol && lastSol != 0) { cout << rank[i].name << " " << rank[i].num_pSolved << " " << rank[i].penalty << endl; } } } | # 0050, 2024-11-02 12:00:57, PPPPPPPPPPPPPPPPPPPPP (100%) #include <bits/stdc++.h> using namespace std; struct team{ string name; int num_pSolved = 0; int penalty = 0; int pen[10000] = {0}; bool pSolved[10000] = {false}; }; int main() { int n; cin >> n; map<string, team> book; int time, problemNumber; string name, result; int numTeam=0; for (int i=0 ; i < n; i++) { cin >> time >> name >> problemNumber >> result; if (book.find(name) == book.end()) { book[name]; book[name].name = name; numTeam++; } if (result == "T" && !book[name].pSolved[problemNumber]){ book[name].pSolved[problemNumber] = true; book[name].num_pSolved++; book[name].penalty += time; book[name].penalty += book[name].pen[problemNumber]; // cout << endl << "team " << name << " problem " << problemNumber << " -" << time << " points!" << endl; } else if (result == "F" && !book[name].pSolved[problemNumber]){ book[name].pen[problemNumber] += 20; // cout << endl << "team " << name << " problem " << problemNumber << " -" << 20 << " points!" << endl; } } vector<team> rank; for (auto a: book){ rank.push_back(a.second); } sort(rank.begin(), rank.end(), [](team a, team b){ if (a.num_pSolved == b.num_pSolved) return a.penalty < b.penalty; return a.num_pSolved > b.num_pSolved; }); // for (auto a: rank) { // cout << a.name << " " << a.num_pSolved << " " << a.penalty << endl; // } int lastPen = 0, lastSol = 0; for (int i=0; i < 3; i++) { if (rank[i].num_pSolved > 0) { cout << rank[i].name << " " << rank[i].num_pSolved << " " << rank[i].penalty << endl; lastPen = rank[i].penalty; lastSol = rank[i].num_pSolved; } } for (int i=3; i < numTeam; i++){ if (rank[i].penalty == lastPen && rank[i].num_pSolved == lastSol && lastSol != 0) { cout << rank[i].name << " " << rank[i].num_pSolved << " " << rank[i].penalty << endl; } } } |
# 0051, 2024-11-02 10:59:10, --xxxxxxxxxxP-P------ (9%) #include <iostream> #include <map> #include <utility> #include <vector> #include <algorithm> using namespace std; int main () { map < pair<string,int> , int> penalty; map < string,int > time; map < pair<string,int> , bool> done; int n; cin >> n; for (int i=0;i<n;i++) { int t,item; string team,correct; cin >> t >> team >> item >> correct; if (correct == "T") { if (done[make_pair(team,item)] == true) continue; done[make_pair(team,item)] = true; if (time.find(team) == time.end()) { if (penalty.find(make_pair(team,item)) == penalty.end()) { time[team] = t; } else time[team] = t + (penalty[make_pair(team,item)] * 20); } else { time[team] += t; } } else if (correct == "F") { if (done[make_pair(team,item)] == true) continue; if (penalty.find(make_pair(team,item)) == penalty.end()) { penalty[make_pair(team,item)] = 1; } else penalty[make_pair(team,item)]++; } } map <string , int> score; for (auto each : done) { if (each.second == true) score[each.first.first]++; } vector <pair <int,string>> winner; for (auto each : score) { winner.push_back(make_pair(each.second,each.first)); } sort(winner.begin(),winner.end()); for (int i=0;i<winner.size();i++) { for (int j=i+1;j<winner.size();j++) { if (score[winner[i].second] == score[winner[j].second] && time[winner[i].second] < time[winner[j].second]) { swap(winner[i],winner[j]); } } } vector <string> annouce; for (int i=1;i<=4;i++) { annouce.push_back(winner[winner.size()-i].second); } for (int i=0;i<4;i++) { for (int j=i+1;j<4;j++) { string iteam = annouce[i], jteam = annouce[j]; if (score[iteam] == score[jteam] && time[iteam] == time[jteam]) { sort(annouce.begin()+i,annouce.begin()+j); } } } for (int i=0;i<3;i++) { string team = annouce[i]; cout << team << ' ' << score[team] << ' ' << time[team] << endl; } if (score[annouce[2]] == score[annouce[3]] && time[annouce[2]] == time[annouce[3]]) { cout << annouce[3] << ' ' << score[annouce[3]] << ' ' << time[annouce[3]] << endl; } } | # 0052, 2024-11-02 11:30:50, PP-PP-PPPPP---------- (42%) #include <iostream> #include <map> #include <utility> #include <vector> #include <algorithm> using namespace std; int main () { map < pair<string,int> , int> penalty; map < string,int > time; map < pair<string,int> , bool> done; int n; cin >> n; for (int i=0;i<n;i++) { int t,item; string team,correct; cin >> t >> team >> item >> correct; if (correct == "T") { if (done[make_pair(team,item)] == true) continue; done[make_pair(team,item)] = true; if (time.find(team) == time.end()) { if (penalty.find(make_pair(team,item)) == penalty.end()) { time[team] = t; } else { time[team] += t + (penalty[make_pair(team,item)] * 20); } } else { time[team] += t; } // cout << endl << time[team] << endl; } else if (correct == "F") { if (done[make_pair(team,item)] == true) continue; if (penalty.find(make_pair(team,item)) == penalty.end()) { penalty[make_pair(team,item)] = 1; } else penalty[make_pair(team,item)]++; } } map <string , int> score; for (auto each : done) { if (each.second == true) score[each.first.first]++; } vector <pair <int,string>> winner; for (auto each : score) { winner.push_back(make_pair(each.second,each.first)); } sort(winner.begin(),winner.end()); vector <string> annouce; for (int i=1;i<=winner.size();i++) { annouce.push_back(winner[winner.size()-i].second); } // sort for time for (int i=0;i<annouce.size();i++) { for (int j=i+1;j<annouce.size();j++) { string iteam = annouce[i], jteam = annouce[j]; if (score[iteam] == score[jteam] && time[iteam] > time[jteam]) { cout << score[iteam] << ' ' << time[iteam] << ' ' << time[jteam] << endl; swap(annouce[i],annouce[j]); } } } // for (auto each : annouce) { // cout << each << endl; // } for (int i=0;i<annouce.size();i++) { for (int j=i+1;j<annouce.size();j++) { string iteam = annouce[i], jteam = annouce[j]; if (score[iteam] == score[jteam] && time[iteam] == time[jteam]) { sort(annouce.begin()+i,annouce.begin()+j); } } } for (int i=0;i<3 && i < annouce.size() ;i++) { string team = annouce[i]; cout << team << ' ' << score[team] << ' ' << time[team] << endl; } if (annouce.size()<4) return 0; if (score[annouce[2]] == score[annouce[3]] && time[annouce[2]] == time[annouce[3]]) { cout << annouce[3] << ' ' << score[annouce[3]] << ' ' << time[annouce[3]] << endl; } } | # 0053, 2024-11-02 11:45:58, PPPPP-PPPPP-P-P----P- (61%) #include <iostream> #include <map> #include <utility> #include <vector> #include <algorithm> using namespace std; int main () { map < pair<string,int> , int> penalty; map < string,int > time; map < pair<string,int> , bool> done; int n; cin >> n; for (int i=0;i<n;i++) { int t,item; string team,correct; cin >> t >> team >> item >> correct; if (correct == "T") { if (done.find(make_pair(team,item)) != done.end() && done[make_pair(team,item)] == true) continue; done[make_pair(team,item)] = true; time[team] += (t + (penalty[make_pair(team,item)] * 20)); } else if (correct == "F") { if (done.find(make_pair(team,item)) != done.end() && done[make_pair(team,item)] == true) continue; if (penalty.find(make_pair(team,item)) == penalty.end()) { penalty[make_pair(team,item)] = 1; } else penalty[make_pair(team,item)]++; } } map <string , int> score; for (auto each : done) { if (each.second == true) score[each.first.first]++; } vector <pair <int,string>> winner; for (auto each : score) { winner.push_back(make_pair(each.second,each.first)); } sort(winner.begin(),winner.end()); vector <string> annouce; for (int i=1;i<=winner.size();i++) { annouce.push_back(winner[winner.size()-i].second); } // sort for time for (int i=0;i<annouce.size();i++) { for (int j=i+1;j<annouce.size();j++) { string iteam = annouce[i], jteam = annouce[j]; if (score[iteam] == score[jteam] && time[iteam] > time[jteam]) { swap(annouce[i],annouce[j]); } } } // for (auto each : annouce) { // cout << each << endl; // } for (int i=0;i<annouce.size();i++) { for (int j=i+1;j<annouce.size();j++) { string iteam = annouce[i], jteam = annouce[j]; if (score[iteam] == score[jteam] && time[iteam] == time[jteam]) { sort(annouce.begin()+i,annouce.begin()+j); } } } for (int i=0;i<3 && i < annouce.size() ;i++) { string team = annouce[i]; cout << team << ' ' << score[team] << ' ' << time[team] << endl; } if (annouce.size()<4) return 0; if (score[annouce[2]] == score[annouce[3]] && time[annouce[2]] == time[annouce[3]]) { cout << annouce[3] << ' ' << score[annouce[3]] << ' ' << time[annouce[3]] << endl; } } | # 0054, 2024-11-02 11:47:49, PPPPPPPPPPPPPPPP-PPPP (95%) #include <iostream> #include <map> #include <utility> #include <vector> #include <algorithm> using namespace std; int main () { map < pair<string,int> , int> penalty; map < string,int > time; map < pair<string,int> , bool> done; int n; cin >> n; for (int i=0;i<n;i++) { int t,item; string team,correct; cin >> t >> team >> item >> correct; if (correct == "T") { if (done.find(make_pair(team,item)) != done.end() && done[make_pair(team,item)] == true) continue; done[make_pair(team,item)] = true; time[team] += (t + (penalty[make_pair(team,item)] * 20)); } else if (correct == "F") { if (done.find(make_pair(team,item)) != done.end() && done[make_pair(team,item)] == true) continue; if (penalty.find(make_pair(team,item)) == penalty.end()) { penalty[make_pair(team,item)] = 1; } else penalty[make_pair(team,item)]++; } } map <string , int> score; for (auto each : done) { if (each.second == true) score[each.first.first]++; } vector <pair <int,string>> winner; for (auto each : score) { winner.push_back(make_pair(each.second,each.first)); } sort(winner.begin(),winner.end()); vector <string> annouce; for (int i=1;i<=winner.size();i++) { annouce.push_back(winner[winner.size()-i].second); } // sort for time for (int i=0;i<annouce.size();i++) { for (int j=i+1;j<annouce.size();j++) { string iteam = annouce[i], jteam = annouce[j]; if (score[iteam] == score[jteam] && time[iteam] > time[jteam]) { swap(annouce[i],annouce[j]); } } } // for (auto each : annouce) { // cout << each << endl; // } for (int i=0;i<annouce.size();i++) { for (int j=i+1;j<annouce.size();j++) { string iteam = annouce[i], jteam = annouce[j]; if (score[iteam] == score[jteam] && time[iteam] == time[jteam]) { sort(annouce.begin()+i,annouce.begin()+j+1); } } } for (int i=0;i<3 && i < annouce.size() ;i++) { string team = annouce[i]; cout << team << ' ' << score[team] << ' ' << time[team] << endl; } if (annouce.size()<4) return 0; if (score[annouce[2]] == score[annouce[3]] && time[annouce[2]] == time[annouce[3]]) { cout << annouce[3] << ' ' << score[annouce[3]] << ' ' << time[annouce[3]] << endl; } } | # 0055, 2024-11-02 11:54:18, PPPPPPPPPPPPPPPP-PPPP (95%) #include <iostream> #include <map> #include <utility> #include <vector> #include <algorithm> using namespace std; int main () { map < pair<string,int> , int> penalty; map < string,int > time; map < pair<string,int> , bool> done; int n; cin >> n; for (int i=0;i<n;i++) { int t,item; string team,correct; cin >> t >> team >> item >> correct; if (correct == "T") { if (done.find(make_pair(team,item)) != done.end() && done[make_pair(team,item)] == true) continue; done[make_pair(team,item)] = true; time[team] += (t + (penalty[make_pair(team,item)] * 20)); } else if (correct == "F") { if (done.find(make_pair(team,item)) != done.end() && done[make_pair(team,item)] == true) continue; if (penalty.find(make_pair(team,item)) == penalty.end()) { penalty[make_pair(team,item)] = 1; } else penalty[make_pair(team,item)]++; } } map <string , int> score; for (auto each : done) { if (each.second == true) score[each.first.first]++; } vector <pair <int,string>> winner; for (auto each : score) { winner.push_back(make_pair(each.second,each.first)); } sort(winner.begin(),winner.end()); vector <string> annouce; for (int i=1;i<=winner.size();i++) { annouce.push_back(winner[winner.size()-i].second); } // sort for time for (int i=0;i<annouce.size();i++) { for (int j=i+1;j<annouce.size();j++) { string iteam = annouce[i], jteam = annouce[j]; if (score[iteam] == score[jteam] && time[iteam] > time[jteam]) { swap(annouce[i],annouce[j]); } } } for (int i=0;i<annouce.size();i++) { for (int j=i+1;j<annouce.size();j++) { string iteam = annouce[i], jteam = annouce[j]; if (score[iteam] == score[jteam] && time[iteam] == time[jteam]) { sort(annouce.begin()+i,annouce.begin()+j+1); } } } for (int i=0;i<3 && i < annouce.size() ;i++) { string team = annouce[i]; cout << team << ' ' << score[team] << ' ' << time[team] << endl; } if (annouce.size()<4) return 0; if (score[annouce[2]] == score[annouce[3]] && time[annouce[2]] == time[annouce[3]]) { cout << annouce[3] << ' ' << score[annouce[3]] << ' ' << time[annouce[3]] << endl; } } | # 0056, 2024-11-02 12:05:03, PPPPPPPPPPPPxxxx----- (57%) #include <iostream> #include <map> #include <utility> #include <vector> #include <algorithm> using namespace std; int main () { map < pair<string,int> , int> penalty; map < string,int > time; map < pair<string,int> , bool> done; int n; cin >> n; for (int i=0;i<n;i++) { int t,item; string team,correct; cin >> t >> team >> item >> correct; if (correct == "T") { if (done.find(make_pair(team,item)) != done.end() && done[make_pair(team,item)] == true) continue; done[make_pair(team,item)] = true; time[team] += (t + (penalty[make_pair(team,item)] * 20)); } else if (correct == "F") { if (done.find(make_pair(team,item)) != done.end() && done[make_pair(team,item)] == true) continue; if (penalty.find(make_pair(team,item)) == penalty.end()) { penalty[make_pair(team,item)] = 1; } else penalty[make_pair(team,item)]++; } } map <string , int> score; for (auto each : done) { if (each.second == true) score[each.first.first]++; } vector <pair <int,string>> winner; for (auto each : score) { winner.push_back(make_pair(each.second,each.first)); } sort(winner.begin(),winner.end()); vector <string> annouce; for (int i=1;i<=winner.size();i++) { annouce.push_back(winner[winner.size()-i].second); } // sort for time for (int i=0;i<annouce.size();i++) { for (int j=i+1;j<annouce.size();j++) { string iteam = annouce[i], jteam = annouce[j]; if (score[iteam] == score[jteam] && time[iteam] > time[jteam]) { swap(annouce[i],annouce[j]); } } } for (int i=0;i<annouce.size();i++) { for (int j=i+1;j<annouce.size();j++) { string iteam = annouce[i], jteam = annouce[j]; if (score[iteam] == score[jteam] && time[iteam] == time[jteam]) { sort(annouce.begin()+i,annouce.begin()+j+1); } } } for (int i=0;i<5 && i < annouce.size() ;i++) { string team = annouce[i]; cout << team << ' ' << score[team] << ' ' << time[team] << endl; } if (annouce.size()<4) return 0; if (score[annouce[2]] == score[annouce[3]] && time[annouce[2]] == time[annouce[3]]) { cout << annouce[3] << ' ' << score[annouce[3]] << ' ' << time[annouce[3]] << endl; } if (score[annouce[3]] == score[annouce[4]] && time[annouce[3]] == time[annouce[4]]) { cout << annouce[4] << ' ' << score[annouce[4]] << ' ' << time[annouce[4]] << endl; } } | # 0057, 2024-11-02 12:08:30, PPPPPPPPPPPP--------- (57%) #include <iostream> #include <map> #include <utility> #include <vector> #include <algorithm> using namespace std; int main () { map < pair<string,int> , int> penalty; map < string,int > time; map < pair<string,int> , bool> done; int n; cin >> n; for (int i=0;i<n;i++) { int t,item; string team,correct; cin >> t >> team >> item >> correct; if (correct == "T") { if (done.find(make_pair(team,item)) != done.end() && done[make_pair(team,item)] == true) continue; done[make_pair(team,item)] = true; time[team] += (t + (penalty[make_pair(team,item)] * 20)); } else if (correct == "F") { if (done.find(make_pair(team,item)) != done.end() && done[make_pair(team,item)] == true) continue; if (penalty.find(make_pair(team,item)) == penalty.end()) { penalty[make_pair(team,item)] = 1; } else penalty[make_pair(team,item)]++; } } map <string , int> score; for (auto each : done) { if (each.second == true) score[each.first.first]++; } vector <pair <int,string>> winner; for (auto each : score) { winner.push_back(make_pair(each.second,each.first)); } sort(winner.begin(),winner.end()); vector <string> annouce; for (int i=1;i<=winner.size();i++) { annouce.push_back(winner[winner.size()-i].second); } // sort for time for (int i=0;i<annouce.size();i++) { for (int j=i+1;j<annouce.size();j++) { string iteam = annouce[i], jteam = annouce[j]; if (score[iteam] == score[jteam] && time[iteam] > time[jteam]) { swap(annouce[i],annouce[j]); } } } for (int i=0;i<annouce.size();i++) { for (int j=i+1;j<annouce.size();j++) { string iteam = annouce[i], jteam = annouce[j]; if (score[iteam] == score[jteam] && time[iteam] == time[jteam]) { sort(annouce.begin()+i,annouce.begin()+j+1); } } } for (int i=0;i<5 && i < annouce.size() ;i++) { string team = annouce[i]; cout << team << ' ' << score[team] << ' ' << time[team] << endl; } if (annouce.size()<4) return 0; if (score[annouce[2]] == score[annouce[3]] && time[annouce[2]] == time[annouce[3]]) { cout << annouce[3] << ' ' << score[annouce[3]] << ' ' << time[annouce[3]] << endl; } if (annouce.size()<5) return 0; if (score[annouce[3]] == score[annouce[4]] && time[annouce[3]] == time[annouce[4]]) { cout << annouce[4] << ' ' << score[annouce[4]] << ' ' << time[annouce[4]] << endl; } } | # 0058, 2024-11-02 12:11:10, PPPPPPPPPPPPPPPPPPPPP (100%) #include <iostream> #include <map> #include <utility> #include <vector> #include <algorithm> using namespace std; int main () { map < pair<string,int> , int> penalty; map < string,int > time; map < pair<string,int> , bool> done; int n; cin >> n; for (int i=0;i<n;i++) { int t,item; string team,correct; cin >> t >> team >> item >> correct; if (correct == "T") { if (done.find(make_pair(team,item)) != done.end() && done[make_pair(team,item)] == true) continue; done[make_pair(team,item)] = true; time[team] += (t + (penalty[make_pair(team,item)] * 20)); } else if (correct == "F") { if (done.find(make_pair(team,item)) != done.end() && done[make_pair(team,item)] == true) continue; if (penalty.find(make_pair(team,item)) == penalty.end()) { penalty[make_pair(team,item)] = 1; } else penalty[make_pair(team,item)]++; } } map <string , int> score; for (auto each : done) { if (each.second == true) score[each.first.first]++; } vector <pair <int,string>> winner; for (auto each : score) { winner.push_back(make_pair(each.second,each.first)); } sort(winner.begin(),winner.end()); vector <string> annouce; for (int i=1;i<=winner.size();i++) { annouce.push_back(winner[winner.size()-i].second); } // sort for time for (int i=0;i<annouce.size();i++) { for (int j=i+1;j<annouce.size();j++) { string iteam = annouce[i], jteam = annouce[j]; if (score[iteam] == score[jteam] && time[iteam] > time[jteam]) { swap(annouce[i],annouce[j]); } } } for (int i=0;i<annouce.size();i++) { for (int j=i+1;j<annouce.size();j++) { string iteam = annouce[i], jteam = annouce[j]; if (score[iteam] == score[jteam] && time[iteam] == time[jteam]) { sort(annouce.begin()+i,annouce.begin()+j+1); } } } for (int i=0;i<3 && i < annouce.size() ;i++) { string team = annouce[i]; cout << team << ' ' << score[team] << ' ' << time[team] << endl; } if (annouce.size()<4) return 0; if (score[annouce[2]] == score[annouce[3]] && time[annouce[2]] == time[annouce[3]]) { cout << annouce[3] << ' ' << score[annouce[3]] << ' ' << time[annouce[3]] << endl; } if (annouce.size()<5) return 0; if (score[annouce[3]] == score[annouce[4]] && time[annouce[3]] == time[annouce[4]]) { cout << annouce[4] << ' ' << score[annouce[4]] << ' ' << time[annouce[4]] << endl; } } |
# 0059, 2024-11-02 11:42:28, PPPPPPPPPPPPP-P----P- (71%) #include<bits/stdc++.h> using namespace std; bool cmp(pair<string,pair<int,int>> a,pair<string,pair<int,int> >b){ if(a.second.first>b.second.first){ return a.second.first>b.second.first; } if(a.second.first==b.second.first){ return a.second.second<b.second.second; } else return 0; } int main(){ int n; cin>>n; int i; map <string,int> x; unordered_map <string,pair<int,int>> z; vector<pair<string,pair<int,int>>> ans; map <pair<string,int>,int> y,w; string b; for(i=0;i<n;i++){ int a,c; string b,d; cin>>a>>b>>c>>d; if(d=="T"){ if(w[{b,c}]!=-1){ x[b]+=a; if(y[{b,c}]>0){ x[b]+=y[{b,c}]*20; z[b].second+=y[{b,c}]*20; } z[b].first+=1; z[b].second+=a; } w[{b,c}]=-1; } else if(d=="F"){ y[{b,c}]+=1; } } int j=0; for(auto i:z){ ans.push_back({i.first,{i.second.first,i.second.second}}); } sort(ans.begin(),ans.end(),cmp); for(auto i:ans){ cout<<i.first<<" "<<i.second.first<<" "<<i.second.second<<endl; j++; if(j==3) break; } } | # 0060, 2024-11-02 11:58:55, PPPPPPPPPPPPPPPP---PP (85%) #include<bits/stdc++.h> using namespace std; bool cmp(pair<string,pair<int,int>> a,pair<string,pair<int,int> >b){ if(a.second.first>b.second.first){ return a.second.first>b.second.first; } if(a.second.first==b.second.first){ return a.second.second<b.second.second; } else return 0; } int main(){ int n; cin>>n; int i; map <string,int> x; unordered_map <string,pair<int,int>> z; vector<pair<string,pair<int,int>>> ans; map <pair<string,int>,int> y,w; string b; for(i=0;i<n;i++){ int a,c; string b,d; cin>>a>>b>>c>>d; if(d=="T"){ if(w[{b,c}]!=-1){ x[b]+=a; if(y[{b,c}]>0){ x[b]+=y[{b,c}]*20; z[b].second+=y[{b,c}]*20; } z[b].first+=1; z[b].second+=a; } w[{b,c}]=-1; } else if(d=="F"){ y[{b,c}]+=1; } } int j=0,l=0; for(auto i:z){ ans.push_back({i.first,{i.second.first,i.second.second}}); } sort(ans.begin(),ans.end(),cmp); for(auto i:ans){ cout<<i.first<<" "<<i.second.first<<" "<<i.second.second<<endl; j++; l++; //cout<<j<<endl; //cout<<ans[l].second.first<<" "<<ans[l].first<<endl; if(ans[l].second.first==i.second.first&&ans[l].second.second==i.second.second&&j==3){ j--; } if(j==3) break; } } | # 0061, 2024-11-02 11:59:49, PPPPPPPPPPPPPPPP---PP (85%) #include<bits/stdc++.h> using namespace std; bool cmp(pair<string,pair<int,int>> a,pair<string,pair<int,int> >b){ if(a.second.first>b.second.first){ return a.second.first>b.second.first; } if(a.second.first==b.second.first){ return a.second.second<b.second.second; } else return 0; } int main(){ int n; cin>>n; int i; map <string,int> x; unordered_map <string,pair<int,int>> z; vector<pair<string,pair<int,int>>> ans; map <pair<string,int>,int> y,w; string b; for(i=0;i<n;i++){ int a,c; string b,d; cin>>a>>b>>c>>d; if(d=="T"){ if(w[{b,c}]!=-1){ x[b]+=a; if(y[{b,c}]>0){ x[b]+=y[{b,c}]*20; z[b].second+=y[{b,c}]*20; } z[b].first+=1; z[b].second+=a; } w[{b,c}]=-1; } else if(d=="F"){ y[{b,c}]+=1; } } int j=0,l=0; for(auto i:z){ ans.push_back({i.first,{i.second.first,i.second.second}}); } sort(ans.begin(),ans.end(),cmp); for(auto i:ans){ if(i.second.first>=1)cout<<i.first<<" "<<i.second.first<<" "<<i.second.second<<endl; j++; l++; //cout<<j<<endl; //cout<<ans[l].second.first<<" "<<ans[l].first<<endl; if(ans[l].second.first==i.second.first&&ans[l].second.second==i.second.second&&j==3){ j--; } if(j==3) break; } } | # 0062, 2024-11-02 12:00:56, PPPPPPPPPPPPPPPP---PP (85%) #include<bits/stdc++.h> using namespace std; bool cmp(pair<string,pair<int,int>> a,pair<string,pair<int,int> >b){ if(a.second.first>b.second.first){ return a.second.first>b.second.first; } if(a.second.first==b.second.first){ return a.second.second<b.second.second; } else return 0; } int main(){ int n; cin>>n; int i; map <string,int> x; unordered_map <string,pair<int,int>> z; vector<pair<string,pair<int,int>>> ans; map <pair<string,int>,int> y,w; string b; for(i=0;i<n;i++){ int a,c; string b,d; cin>>a>>b>>c>>d; if(d=="T"){ if(w[{b,c}]!=-1){ x[b]+=a; if(y[{b,c}]>0){ x[b]+=y[{b,c}]*20; z[b].second+=y[{b,c}]*20; } z[b].first+=1; z[b].second+=a; } w[{b,c}]=-1; } else if(d=="F"){ y[{b,c}]+=1; } } int j=0,l=0; for(auto i:z){ ans.push_back({i.first,{i.second.first,i.second.second}}); } sort(ans.begin(),ans.end(),cmp); for(auto i:ans){ if(i.second.first>=1)cout<<i.first<<" "<<i.second.first<<" "<<i.second.second<<endl; j++; l++; //cout<<j<<endl; //cout<<ans[l].second.first<<" "<<ans[l].first<<endl; if(ans[l].second.first==i.second.first&&ans[l].second.second==i.second.second&&j==3){ j--; } if(j==3) break; } } | # 0063, 2024-11-02 12:02:27, PPPPPP--P-PPPP-----P- (57%) #include<bits/stdc++.h> using namespace std; bool cmp(pair<string,pair<int,int>> a,pair<string,pair<int,int> >b){ if(a.second.first>b.second.first){ return a.second.first>b.second.first; } if(a.second.first==b.second.first){ return a.second.second<b.second.second; } else return 1; } int main(){ int n; cin>>n; int i; map <string,int> x; unordered_map <string,pair<int,int>> z; vector<pair<string,pair<int,int>>> ans; map <pair<string,int>,int> y,w; string b; for(i=0;i<n;i++){ int a,c; string b,d; cin>>a>>b>>c>>d; if(d=="T"){ if(w[{b,c}]!=-1){ x[b]+=a; if(y[{b,c}]>0){ x[b]+=y[{b,c}]*20; z[b].second+=y[{b,c}]*20; } z[b].first+=1; z[b].second+=a; } w[{b,c}]=-1; } else if(d=="F"){ y[{b,c}]+=1; } } int j=0,l=0; for(auto i:z){ ans.push_back({i.first,{i.second.first,i.second.second}}); } sort(ans.begin(),ans.end(),cmp); for(auto i:ans){ if(i.second.first>=1)cout<<i.first<<" "<<i.second.first<<" "<<i.second.second<<endl; j++; l++; //cout<<j<<endl; //cout<<ans[l].second.first<<" "<<ans[l].first<<endl; if(ans[l].second.first==i.second.first&&ans[l].second.second==i.second.second&&j==3){ j--; } if(j==3) break; } } | # 0064, 2024-11-02 12:02:37, PPPPPPPPPPPPPPPP---PP (85%) #include<bits/stdc++.h> using namespace std; bool cmp(pair<string,pair<int,int>> a,pair<string,pair<int,int> >b){ if(a.second.first>b.second.first){ return a.second.first>b.second.first; } if(a.second.first==b.second.first){ return a.second.second<b.second.second; } else return 0; } int main(){ int n; cin>>n; int i; map <string,int> x; unordered_map <string,pair<int,int>> z; vector<pair<string,pair<int,int>>> ans; map <pair<string,int>,int> y,w; string b; for(i=0;i<n;i++){ int a,c; string b,d; cin>>a>>b>>c>>d; if(d=="T"){ if(w[{b,c}]!=-1){ x[b]+=a; if(y[{b,c}]>0){ x[b]+=y[{b,c}]*20; z[b].second+=y[{b,c}]*20; } z[b].first+=1; z[b].second+=a; } w[{b,c}]=-1; } else if(d=="F"){ y[{b,c}]+=1; } } int j=0,l=0; for(auto i:z){ ans.push_back({i.first,{i.second.first,i.second.second}}); } sort(ans.begin(),ans.end(),cmp); for(auto i:ans){ if(i.second.first>=1)cout<<i.first<<" "<<i.second.first<<" "<<i.second.second<<endl; j++; l++; //cout<<j<<endl; //cout<<ans[l].second.first<<" "<<ans[l].first<<endl; if(ans[l].second.first==i.second.first&&ans[l].second.second==i.second.second&&j==3){ j--; } if(j==3) break; } } | # 0065, 2024-11-02 12:07:05, PPPPPPPPPPPPPPPPPPPPP (100%) #include<bits/stdc++.h> using namespace std; bool cmp(pair<string,pair<int,int>> a,pair<string,pair<int,int> >b){ if(a.second.first>b.second.first){ return a.second.first>b.second.first; } if(a.second.first==b.second.first){ return a.second.second<b.second.second; } if(a.second.first==b.second.first&&a.second.second==b.second.second){ char a1=a.first[0],b1=b.first[0];return a1<b1; } else return 0; } int main(){ int n; cin>>n; int i; map <string,int> x; map <string,pair<int,int>> z; vector<pair<string,pair<int,int>>> ans; map <pair<string,int>,int> y,w; string b; for(i=0;i<n;i++){ int a,c; string b,d; cin>>a>>b>>c>>d; if(d=="T"){ if(w[{b,c}]!=-1){ x[b]+=a; if(y[{b,c}]>0){ x[b]+=y[{b,c}]*20; z[b].second+=y[{b,c}]*20; } z[b].first+=1; z[b].second+=a; } w[{b,c}]=-1; } else if(d=="F"){ y[{b,c}]+=1; } } int j=0,l=0; for(auto i:z){ ans.push_back({i.first,{i.second.first,i.second.second}}); } sort(ans.begin(),ans.end(),cmp); for(auto i:ans){ if(i.second.first>=1)cout<<i.first<<" "<<i.second.first<<" "<<i.second.second<<endl; j++; l++; //cout<<j<<endl; //cout<<ans[l].second.first<<" "<<ans[l].first<<endl; if(ans[l].second.first==i.second.first&&ans[l].second.second==i.second.second&&j==3){ j--; } if(j==3) break; } } |
# 0066, 2024-11-02 14:48:55, PPPP--PP-P----------- (33%) #include <bits/stdc++.h> using namespace std; int main() { int n, time ,q; cin >> n; vector<string> allteam,in2,in4; vector<int> score, pen, in1,in3; string team, tf; for(int i=0;i<n;i++){ cin >> time >> team >> q >> tf; if(find(allteam.begin(),allteam.end(),team)==allteam.end()){ allteam.push_back(team); score.push_back(0); pen.push_back(0); } if(tf=="T"){ bool c = false; for(int i=0;i<in1.size();i++){ if(in2[i]==team&&in3[i]==q&&in4[i]=="T") c = true; } if(!c){ auto itr = find(allteam.begin(),allteam.end(),team); int pos = distance(allteam.begin(),itr); score[pos] +=1; pen[pos] += time; for(int i=0;i<in1.size();i++){ if(in2[i]==team&&in3[i]==q&&in4[i]=="F") pen[pos] += 20; } } } in1.push_back(time); in2.push_back(team); in3.push_back(q); in4.push_back(tf); } vector<pair<pair<int,int>,string>> re; for(int i=0;i<score.size();i++){ re.push_back(make_pair(make_pair(score[i],pen[i]),allteam[i])); } sort(re.rbegin(),re.rend()); for(int i=0;i<re.size();i++){ if(re[i].first.first!=0) cout << re[i].second << ' ' << re[i].first.first << ' ' << re[i].first.second << endl; } } | # 0067, 2024-11-02 14:54:22, PPPPP-PPPPP---------- (47%) #include <bits/stdc++.h> using namespace std; int main() { int n, time ,q; cin >> n; vector<string> allteam,in2,in4; vector<int> score, pen, in1,in3; string team, tf; for(int i=0;i<n;i++){ cin >> time >> team >> q >> tf; if(find(allteam.begin(),allteam.end(),team)==allteam.end()){ allteam.push_back(team); score.push_back(0); pen.push_back(0); } if(tf=="T"){ bool c = false; for(int i=0;i<in1.size();i++){ if(in2[i]==team&&in3[i]==q&&in4[i]=="T") c = true; } if(!c){ auto itr = find(allteam.begin(),allteam.end(),team); int pos = distance(allteam.begin(),itr); score[pos] +=1; pen[pos] += time; for(int i=0;i<in1.size();i++){ if(in2[i]==team&&in3[i]==q&&in4[i]=="F") pen[pos] += 20; } } } in1.push_back(time); in2.push_back(team); in3.push_back(q); in4.push_back(tf); } vector<pair<pair<int,int>,string>> re; for(int i=0;i<score.size();i++){ re.push_back(make_pair(make_pair(score[i],pen[i]),allteam[i])); } sort(re.rbegin(),re.rend()); for(int i=0;i<re.size();i++){ for(int j=i;j<re.size();j++){ if(re[i].first.first == re[j].first.first&&re[i].first.second>re[j].first.second){ swap(re[i],re[j]); } } } for(int i=0;i<re.size();i++){ if(re[i].first.first!=0) cout << re[i].second << ' ' << re[i].first.first << ' ' << re[i].first.second << endl; } } | # 0068, 2024-11-02 14:59:47, PPPPP-PP--P---------- (38%) #include <bits/stdc++.h> using namespace std; int main() { int n, time ,q; cin >> n; vector<string> allteam,in2,in4; vector<int> score, pen, in1,in3; string team, tf; for(int i=0;i<n;i++){ cin >> time >> team >> q >> tf; if(find(allteam.begin(),allteam.end(),team)==allteam.end()){ allteam.push_back(team); score.push_back(0); pen.push_back(0); } if(tf=="T"){ bool c = false; for(int i=0;i<in1.size();i++){ if(in2[i]==team&&in3[i]==q&&in4[i]=="T") c = true; } if(!c){ auto itr = find(allteam.begin(),allteam.end(),team); int pos = distance(allteam.begin(),itr); score[pos] +=1; pen[pos] += time; for(int i=0;i<in1.size();i++){ if(in2[i]==team&&in3[i]==q&&in4[i]=="F") pen[pos] += 20; } } } in1.push_back(time); in2.push_back(team); in3.push_back(q); in4.push_back(tf); } vector<pair<pair<int,int>,string>> re; for(int i=0;i<score.size();i++){ re.push_back(make_pair(make_pair(score[i],pen[i]),allteam[i])); } sort(re.rbegin(),re.rend()); for(int i=0;i<re.size();i++){ for(int j=i;j<re.size();j++){ if(re[i].first.first == re[j].first.first&&re[i].first.second>re[j].first.second){ swap(re[i],re[j]); } } } int sc = 1; cout << re[0].second << ' ' << re[0].first.first << ' ' << re[0].first.second << endl; for(int i=1;i<re.size();i++){ if(re[i].first.first!=re[i-1].first.first||re[i].first.second!=re[i-1].first.second) sc++; if(sc==3) break; if(re[i].first.first!=0) cout << re[i].second << ' ' << re[i].first.first << ' ' << re[i].first.second << endl; } } | # 0069, 2024-11-02 15:03:09, PPPPP-PPPPP-P-P----P- (61%) #include <bits/stdc++.h> using namespace std; int main() { int n, time ,q; cin >> n; vector<string> allteam,in2,in4; vector<int> score, pen, in1,in3; string team, tf; for(int i=0;i<n;i++){ cin >> time >> team >> q >> tf; if(find(allteam.begin(),allteam.end(),team)==allteam.end()){ allteam.push_back(team); score.push_back(0); pen.push_back(0); } if(tf=="T"){ bool c = false; for(int i=0;i<in1.size();i++){ if(in2[i]==team&&in3[i]==q&&in4[i]=="T") c = true; } if(!c){ auto itr = find(allteam.begin(),allteam.end(),team); int pos = distance(allteam.begin(),itr); score[pos] +=1; pen[pos] += time; for(int i=0;i<in1.size();i++){ if(in2[i]==team&&in3[i]==q&&in4[i]=="F") pen[pos] += 20; } } } in1.push_back(time); in2.push_back(team); in3.push_back(q); in4.push_back(tf); } vector<pair<pair<int,int>,string>> re; for(int i=0;i<score.size();i++){ re.push_back(make_pair(make_pair(score[i],pen[i]),allteam[i])); } sort(re.rbegin(),re.rend()); for(int i=0;i<re.size();i++){ for(int j=i;j<re.size();j++){ if(re[i].first.first == re[j].first.first&&re[i].first.second>re[j].first.second){ swap(re[i],re[j]); } } } int sc = 0; cout << re[0].second << ' ' << re[0].first.first << ' ' << re[0].first.second << endl; for(int i=1;i<re.size();i++){ if(re[i].first.first!=re[i-1].first.first||re[i].first.second!=re[i-1].first.second) sc++; if(sc==3) break; if(re[i].first.first!=0) cout << re[i].second << ' ' << re[i].first.first << ' ' << re[i].first.second << endl; } } | # 0070, 2024-11-02 15:05:47, PPPPP-PPPPP-P-P----P- (61%) #include <bits/stdc++.h> using namespace std; int main() { int n, time ,q; cin >> n; vector<string> allteam,in2,in4; vector<int> score, pen, in1,in3; string team, tf; for(int i=0;i<n;i++){ cin >> time >> team >> q >> tf; if(find(allteam.begin(),allteam.end(),team)==allteam.end()){ allteam.push_back(team); score.push_back(0); pen.push_back(0); } if(tf=="T"){ bool c = false; for(int i=0;i<in1.size();i++){ if(in2[i]==team&&in3[i]==q&&in4[i]=="T") c = true; } if(!c){ auto itr = find(allteam.begin(),allteam.end(),team); int pos = distance(allteam.begin(),itr); score[pos] +=1; pen[pos] += time; for(int i=0;i<in1.size();i++){ if(in2[i]==team&&in3[i]==q&&in4[i]=="F") pen[pos] += 20; } } } in1.push_back(time); in2.push_back(team); in3.push_back(q); in4.push_back(tf); } vector<pair<pair<int,int>,string>> re; for(int i=0;i<score.size();i++){ re.push_back(make_pair(make_pair(score[i],pen[i]),allteam[i])); } sort(re.rbegin(),re.rend()); for(int i=0;i<re.size();i++){ for(int j=i;j<re.size();j++){ if(re[i].first.first == re[j].first.first&&re[i].first.second>re[j].first.second){ swap(re[i],re[j]); } } } int sc = 0; cout << re[0].second << ' ' << re[0].first.first << ' ' << re[0].first.second << endl; for(int i=1;i<re.size();i++){ if(i>3 && (re[i].first.first!=re[i-1].first.first||re[i].first.second!=re[i-1].first.second)) break; if(re[i].first.first!=re[i-1].first.first||re[i].first.second!=re[i-1].first.second) sc++; if(sc==3) break; if(re[i].first.first!=0) cout << re[i].second << ' ' << re[i].first.first << ' ' << re[i].first.second << endl; } } | # 0071, 2024-11-02 15:09:13, PPPPP-PPPPP-P-P----P- (61%) #include <bits/stdc++.h> using namespace std; int main() { int n, time ,q; cin >> n; vector<string> allteam,in2,in4; vector<int> score, pen, in1,in3; string team, tf; for(int i=0;i<n;i++){ cin >> time >> team >> q >> tf; if(find(allteam.begin(),allteam.end(),team)==allteam.end()){ allteam.push_back(team); score.push_back(0); pen.push_back(0); } if(tf=="T"){ bool c = false; for(int i=0;i<in1.size();i++){ if(in2[i]==team&&in3[i]==q&&in4[i]=="T") c = true; } if(!c){ auto itr = find(allteam.begin(),allteam.end(),team); int pos = distance(allteam.begin(),itr); score[pos] +=1; pen[pos] += time; for(int i=0;i<in1.size();i++){ if(in2[i]==team&&in3[i]==q&&in4[i]=="F") pen[pos] += 20; } } } in1.push_back(time); in2.push_back(team); in3.push_back(q); in4.push_back(tf); } vector<pair<pair<int,int>,string>> re; for(int i=0;i<score.size();i++){ re.push_back(make_pair(make_pair(score[i],pen[i]),allteam[i])); } sort(re.rbegin(),re.rend()); for(int i=0;i<re.size();i++){ for(int j=i;j<re.size();j++){ if(re[i].first.first == re[j].first.first&&re[i].first.second>re[j].first.second){ swap(re[i],re[j]); } if(re[i].first.first == re[j].first.first&&re[i].first.second==re[j].first.second){ sort(re.begin()+i,re.begin()+j); } } } int sc = 0; cout << re[0].second << ' ' << re[0].first.first << ' ' << re[0].first.second << endl; for(int i=1;i<re.size();i++){ if(i>3 && (re[i].first.first!=re[i-1].first.first||re[i].first.second!=re[i-1].first.second)) break; if(re[i].first.first!=re[i-1].first.first||re[i].first.second!=re[i-1].first.second) sc++; if(sc==3) break; if(re[i].first.first!=0) cout << re[i].second << ' ' << re[i].first.first << ' ' << re[i].first.second << endl; } } | # 0072, 2024-11-02 15:13:22, PPPPPPPPPPPPPPPPPPPPP (100%) #include <bits/stdc++.h> using namespace std; int main() { int n, time ,q; cin >> n; vector<string> allteam,in2,in4; vector<int> score, pen, in1,in3; string team, tf; for(int i=0;i<n;i++){ cin >> time >> team >> q >> tf; if(find(allteam.begin(),allteam.end(),team)==allteam.end()){ allteam.push_back(team); score.push_back(0); pen.push_back(0); } if(tf=="T"){ bool c = false; for(int i=0;i<in1.size();i++){ if(in2[i]==team&&in3[i]==q&&in4[i]=="T") c = true; } if(!c){ auto itr = find(allteam.begin(),allteam.end(),team); int pos = distance(allteam.begin(),itr); score[pos] +=1; pen[pos] += time; for(int i=0;i<in1.size();i++){ if(in2[i]==team&&in3[i]==q&&in4[i]=="F") pen[pos] += 20; } } } in1.push_back(time); in2.push_back(team); in3.push_back(q); in4.push_back(tf); } vector<pair<pair<int,int>,string>> re; for(int i=0;i<score.size();i++){ re.push_back(make_pair(make_pair(score[i],pen[i]),allteam[i])); } sort(re.rbegin(),re.rend()); for(int i=0;i<re.size();i++){ for(int j=i;j<re.size();j++){ if(re[i].first.first == re[j].first.first&&re[i].first.second>re[j].first.second){ swap(re[i],re[j]); } if(re[i].first.first == re[j].first.first&&re[i].first.second==re[j].first.second){ if(re[i].second>re[j].second){ swap(re[i],re[j]); } } } } int sc = 0; cout << re[0].second << ' ' << re[0].first.first << ' ' << re[0].first.second << endl; for(int i=1;i<re.size();i++){ if(i>3 && (re[i].first.first!=re[i-1].first.first||re[i].first.second!=re[i-1].first.second)) break; if(re[i].first.first!=re[i-1].first.first||re[i].first.second!=re[i-1].first.second) sc++; if(sc==3) break; if(re[i].first.first!=0) cout << re[i].second << ' ' << re[i].first.first << ' ' << re[i].first.second << endl; } } |
# 0073, 2024-11-02 11:28:45, --------------------- (0%) #include <iostream> #include <map> #include <set> #include <algorithm> #include <vector> #include <utility> #include <string> #include <cmath> using namespace std; int main(){ int n; int time ,qwer; string team,answer; map<string,int> ss; vector<pair<int,string>> nameteam; vector<int> score; cin>>n; for(int i=0;i<n;i++){ cin>>time>>team>>qwer>>answer; string a = team+to_string(qwer); auto it= nameteam.end(); for(auto j =nameteam.begin();j!= nameteam.end();j++){ if((*j).second==team){ it = j; break; } } if(it!=nameteam.end()){ if(answer=="T"){ if(ss[a]!=-1){ cout<<time<<endl; (*it).first +=(ss[a]*20)+time; int x=it-nameteam.begin(); score[x]++; } }else if(answer=="F"){ if(ss[a]!=-1){ ss[a]+=1; } } }else{ if(answer=="T"){ nameteam.push_back(make_pair(time,team)); ss[a]= -1; score.push_back(1); }else if(answer=="F"){ ss[a]=1; nameteam.push_back(make_pair(0,team)); score.push_back(0); } } } for(auto i = nameteam.begin();i!=nameteam.end();i++){ int x=i-nameteam.begin(); cout<< i->second<<" "<<score[x]<<i->first<<endl; } return 0; } | # 0074, 2024-11-02 11:29:05, --------------------- (0%) #include <iostream> #include <map> #include <set> #include <algorithm> #include <vector> #include <utility> #include <string> #include <cmath> using namespace std; int main(){ int n; int time ,qwer; string team,answer; map<string,int> ss; vector<pair<int,string>> nameteam; vector<int> score; cin>>n; for(int i=0;i<n;i++){ cin>>time>>team>>qwer>>answer; string a = team+to_string(qwer); auto it= nameteam.end(); for(auto j =nameteam.begin();j!= nameteam.end();j++){ if((*j).second==team){ it = j; break; } } if(it!=nameteam.end()){ if(answer=="T"){ if(ss[a]!=-1){ cout<<time<<endl; (*it).first +=(ss[a]*20)+time; int x=it-nameteam.begin(); score[x]++; } }else if(answer=="F"){ if(ss[a]!=-1){ ss[a]+=1; } } }else{ if(answer=="T"){ nameteam.push_back(make_pair(time,team)); ss[a]= -1; score.push_back(1); }else if(answer=="F"){ ss[a]=1; nameteam.push_back(make_pair(0,team)); score.push_back(0); } } } for(auto i = nameteam.begin();i!=nameteam.end();i++){ int x=i-nameteam.begin(); cout<< i->second<<" "<<score[x]<<i->first<<endl; } return 0; } | # 0075, 2024-11-02 11:30:49, --------------------- (0%) #include <iostream> #include <map> #include <set> #include <algorithm> #include <vector> #include <utility> #include <string> #include <cmath> using namespace std; int main(){ int n; int time ,qwer; string team,answer; map<string,int> ss; vector<pair<int,string>> nameteam; vector<int> score; cin>>n; for(int i=0;i<n;i++){ cin>>time>>team>>qwer>>answer; string a = team+to_string(qwer); auto it= nameteam.end(); for(auto j =nameteam.begin();j!= nameteam.end();j++){ if((*j).second==team){ it = j; break; } } if(it!=nameteam.end()){ if(answer=="T"){ if(ss[a]!=-1){ (*it).first +=(ss[a]*20)+time; int x=it-nameteam.begin(); score[x]++; ss[a]=-1; } }else if(answer=="F"){ if(ss[a]!=-1){ ss[a]+=1; } } }else{ if(answer=="T"){ nameteam.push_back(make_pair(time,team)); ss[a]= -1; score.push_back(1); }else if(answer=="F"){ ss[a]=1; nameteam.push_back(make_pair(0,team)); score.push_back(0); } } } for(auto i = nameteam.begin();i!=nameteam.end();i++){ int x=i-nameteam.begin(); cout<< i->second<<" "<<score[x]<<i->first<<endl; } return 0; } | # 0076, 2024-11-02 11:31:35, PPPPP---P------------ (28%) #include <iostream> #include <map> #include <set> #include <algorithm> #include <vector> #include <utility> #include <string> #include <cmath> using namespace std; int main(){ int n; int time ,qwer; string team,answer; map<string,int> ss; vector<pair<int,string>> nameteam; vector<int> score; cin>>n; for(int i=0;i<n;i++){ cin>>time>>team>>qwer>>answer; string a = team+to_string(qwer); auto it= nameteam.end(); for(auto j =nameteam.begin();j!= nameteam.end();j++){ if((*j).second==team){ it = j; break; } } if(it!=nameteam.end()){ if(answer=="T"){ if(ss[a]!=-1){ (*it).first +=(ss[a]*20)+time; int x=it-nameteam.begin(); score[x]++; ss[a]=-1; } }else if(answer=="F"){ if(ss[a]!=-1){ ss[a]+=1; } } }else{ if(answer=="T"){ nameteam.push_back(make_pair(time,team)); ss[a]= -1; score.push_back(1); }else if(answer=="F"){ ss[a]=1; nameteam.push_back(make_pair(0,team)); score.push_back(0); } } } for(auto i = nameteam.begin();i!=nameteam.end();i++){ int x=i-nameteam.begin(); cout<< i->second<<" "<<score[x]<<" "<<i->first<<endl; } return 0; } | # 0077, 2024-11-02 11:42:05, PPPPPPPPPP-PPPPPPPPPP (95%) #include <iostream> #include <map> #include <set> #include <algorithm> #include <vector> #include <utility> #include <string> #include <cmath> using namespace std; int main(){ int n; int time ,qwer; string team,answer; map<string,int> ss; vector<pair<int,string>> nameteam; vector<int> score; vector<pair<int,pair<int,string>>> asd; cin>>n; for(int i=0;i<n;i++){ cin>>time>>team>>qwer>>answer; string a = team+to_string(qwer); auto it= nameteam.end(); for(auto j =nameteam.begin();j!= nameteam.end();j++){ if((*j).second==team){ it = j; break; } } if(it!=nameteam.end()){ if(answer=="T"){ if(ss[a]!=-1){ (*it).first +=(ss[a]*20)+time; int x=it-nameteam.begin(); score[x]++; ss[a]=-1; } }else if(answer=="F"){ if(ss[a]!=-1){ ss[a]+=1; } } }else{ if(answer=="T"){ nameteam.push_back(make_pair(time,team)); ss[a]= -1; score.push_back(1); }else if(answer=="F"){ ss[a]=1; nameteam.push_back(make_pair(0,team)); score.push_back(0); } } } for(int i=0;i<score.size();i++){ asd.push_back(make_pair(-score[i],make_pair(nameteam[i].first,nameteam[i].second))); } sort(asd.begin(),asd.end()); int q=0,w=0; for(int i = 0;i<asd.size();i++){ if(i>2){ if(q==asd[i].first&&w==asd[i].second.first){ cout<<asd[i].second.second<<" "<<-asd[i].first<<" "<< asd[i].second.first<<endl; } }else{ cout<<asd[i].second.second<<" "<<-asd[i].first<<" "<< asd[i].second.first<<endl; } q=asd[i].first; w=asd[i].second.first; } return 0; } | # 0078, 2024-11-02 11:43:38, PPPPPPPPPPPPPPPPPPPPP (100%) #include <iostream> #include <map> #include <set> #include <algorithm> #include <vector> #include <utility> #include <string> #include <cmath> using namespace std; int main(){ int n; int time ,qwer; string team,answer; map<string,int> ss; vector<pair<int,string>> nameteam; vector<int> score; vector<pair<int,pair<int,string>>> asd; cin>>n; for(int i=0;i<n;i++){ cin>>time>>team>>qwer>>answer; string a = team+to_string(qwer); auto it= nameteam.end(); for(auto j =nameteam.begin();j!= nameteam.end();j++){ if((*j).second==team){ it = j; break; } } if(it!=nameteam.end()){ if(answer=="T"){ if(ss[a]!=-1){ (*it).first +=(ss[a]*20)+time; int x=it-nameteam.begin(); score[x]++; ss[a]=-1; } }else if(answer=="F"){ if(ss[a]!=-1){ ss[a]+=1; } } }else{ if(answer=="T"){ nameteam.push_back(make_pair(time,team)); ss[a]= -1; score.push_back(1); }else if(answer=="F"){ ss[a]=1; nameteam.push_back(make_pair(0,team)); score.push_back(0); } } } for(int i=0;i<score.size();i++){ asd.push_back(make_pair(-score[i],make_pair(nameteam[i].first,nameteam[i].second))); } sort(asd.begin(),asd.end()); int q=0,w=0; for(int i = 0;i<asd.size();i++){ if(asd[i].first==0){ break; } if(i>2){ if(q==asd[i].first&&w==asd[i].second.first){ cout<<asd[i].second.second<<" "<<-asd[i].first<<" "<< asd[i].second.first<<endl; } }else{ cout<<asd[i].second.second<<" "<<-asd[i].first<<" "<< asd[i].second.first<<endl; } q=asd[i].first; w=asd[i].second.first; } return 0; } |
# 0079, 2024-11-02 14:42:36, PP--PPP-PP-PP-P------ (47%) #include<iostream> #include<set> #include<tuple> #include<vector> #include<algorithm> using namespace std; int main(){ int n; cin>>n; string team; char result; int minute, q; vector<tuple<int,int,string>> resultAndName; //-right , penalty, name vector<string> TeamNames; set<string> TN; int w; bool nameFound; for(int i=0;i<n;i++){ cin>>minute >> team >> q >> result; nameFound = false; if(TN.find(team) == TN.end()) { TeamNames.push_back(team); TN.insert(team); resultAndName.push_back({0,0,team}); } if (result == 'T') { for(int j=0;j<size(TeamNames);j++){ if(TeamNames[j] == team){ get<0>(resultAndName[j]) -= 1; get<1>(resultAndName[j]) += minute; } } } else if (result == 'F') { for(int j=0;j<size(TeamNames);j++){ if(TeamNames[j] == team){ get<1>(resultAndName[j]) += 20; } } } } sort(resultAndName.begin(), resultAndName.end()); for(int i=0; i<3 & i<size(TN) ; i++ ){ cout << get<2>(resultAndName[i])<< ' ' << -get<0>(resultAndName[i])<<' '; cout << get<1>(resultAndName[i])<<endl; } } | # 0080, 2024-11-02 14:47:47, PP-PPPPPPP-PP-P----P- (61%) #include<iostream> #include<set> #include<tuple> #include<vector> #include<algorithm> using namespace std; int main(){ int n; cin>>n; string team; char result; int minute, q; vector<tuple<int,int,string,set<int>>> resultAndName; //-right , penalty, name,finishedQuestion vector<string> TeamNames; set<string> TN; int w; bool nameFound; for(int i=0;i<n;i++){ cin>>minute >> team >> q >> result; nameFound = false; if(TN.find(team) == TN.end()) { TeamNames.push_back(team); TN.insert(team); resultAndName.push_back({0,0,team,{}}); } if (result == 'T') { for(int j=0;j<size(TeamNames);j++){ if(TeamNames[j] == team & (get<3>(resultAndName[j]).find(q)==get<3>(resultAndName[j]).end())){ get<0>(resultAndName[j]) -= 1; get<1>(resultAndName[j]) += minute; get<3>(resultAndName[j]).insert(q); } } } else if (result == 'F') { for(int j=0;j<size(TeamNames);j++){ if(TeamNames[j] == team & (get<3>(resultAndName[j]).find(q)==get<3>(resultAndName[j]).end())){ get<1>(resultAndName[j]) += 20; } } } } sort(resultAndName.begin(), resultAndName.end()); for(int i=0; i<3 & i<size(TN) ; i++ ){ cout << get<2>(resultAndName[i])<< ' ' << -get<0>(resultAndName[i])<<' '; cout << get<1>(resultAndName[i])<<endl; } } | # 0081, 2024-11-02 14:49:28, PP-PPPPPPPPPP-P----P- (66%) #include<iostream> #include<set> #include<tuple> #include<vector> #include<algorithm> using namespace std; int main(){ int n; cin>>n; string team; char result; int minute, q; vector<tuple<int,int,string,set<int>>> resultAndName; //-right , penalty, name,finishedQuestion vector<string> TeamNames; set<string> TN; int w; bool nameFound; for(int i=0;i<n;i++){ cin>>minute >> team >> q >> result; nameFound = false; if(TN.find(team) == TN.end()) { TeamNames.push_back(team); TN.insert(team); resultAndName.push_back({0,0,team,{}}); } if (result == 'T') { for(int j=0;j<size(TeamNames);j++){ if(TeamNames[j] == team & (get<3>(resultAndName[j]).find(q)==get<3>(resultAndName[j]).end())){ get<0>(resultAndName[j]) -= 1; get<1>(resultAndName[j]) += minute; get<3>(resultAndName[j]).insert(q); } } } else if (result == 'F') { for(int j=0;j<size(TeamNames);j++){ if(TeamNames[j] == team & (get<3>(resultAndName[j]).find(q)==get<3>(resultAndName[j]).end())){ get<1>(resultAndName[j]) += 20; } } } } sort(resultAndName.begin(), resultAndName.end()); for(int i=0; i<3 & i<size(TN) & get<0>(resultAndName[i]) !=0 ; i++ ){ cout << get<2>(resultAndName[i])<< ' ' << -get<0>(resultAndName[i])<<' '; cout << get<1>(resultAndName[i])<<endl; } } | # 0082, 2024-11-02 14:54:53, xxxxxxPPPPPPPPPPPPPP- (66%) #include<iostream> #include<set> #include<tuple> #include<vector> #include<algorithm> using namespace std; int main(){ int n; cin>>n; string team; char result; int minute, q; vector<tuple<int,int,string,set<int>>> resultAndName; //-right , penalty, name,finishedQuestion vector<string> TeamNames; set<string> TN; int w; bool nameFound; for(int i=0;i<n;i++){ cin>>minute >> team >> q >> result; nameFound = false; if(TN.find(team) == TN.end()) { TeamNames.push_back(team); TN.insert(team); resultAndName.push_back({0,0,team,{}}); } if (result == 'T') { for(int j=0;j<size(TeamNames);j++){ if(TeamNames[j] == team & (get<3>(resultAndName[j]).find(q)==get<3>(resultAndName[j]).end())){ get<0>(resultAndName[j]) -= 1; get<1>(resultAndName[j]) += minute; get<3>(resultAndName[j]).insert(q); } } } else if (result == 'F') { for(int j=0;j<size(TeamNames);j++){ if(TeamNames[j] == team & (get<3>(resultAndName[j]).find(q)==get<3>(resultAndName[j]).end())){ get<1>(resultAndName[j]) += 20; } } } } sort(resultAndName.begin(), resultAndName.end()); for(int i=0; i<3 & i<size(TN) & get<0>(resultAndName[i]) !=0 ; i++ ){ cout << get<2>(resultAndName[i])<< ' ' << -get<0>(resultAndName[i])<<' '; cout << get<1>(resultAndName[i])<<endl; } for(int i=3;get<0>(resultAndName[i])==get<0>(resultAndName[2]) ;i++){ if(get<1>(resultAndName[i])!=get<1>(resultAndName[2]) ) break; cout << get<2>(resultAndName[i])<< ' ' << -get<0>(resultAndName[i])<<' '; cout << get<1>(resultAndName[i])<<endl; } } | # 0083, 2024-11-02 14:56:59, PP-PPPPPPPPPPPPPPPPP- (90%) #include<iostream> #include<set> #include<tuple> #include<vector> #include<algorithm> using namespace std; int main(){ int n; cin>>n; string team; char result; int minute, q; vector<tuple<int,int,string,set<int>>> resultAndName; //-right , penalty, name,finishedQuestion vector<string> TeamNames; set<string> TN; int w; bool nameFound; for(int i=0;i<n;i++){ cin>>minute >> team >> q >> result; nameFound = false; if(TN.find(team) == TN.end()) { TeamNames.push_back(team); TN.insert(team); resultAndName.push_back({0,0,team,{}}); } if (result == 'T') { for(int j=0;j<size(TeamNames);j++){ if(TeamNames[j] == team & (get<3>(resultAndName[j]).find(q)==get<3>(resultAndName[j]).end())){ get<0>(resultAndName[j]) -= 1; get<1>(resultAndName[j]) += minute; get<3>(resultAndName[j]).insert(q); } } } else if (result == 'F') { for(int j=0;j<size(TeamNames);j++){ if(TeamNames[j] == team & (get<3>(resultAndName[j]).find(q)==get<3>(resultAndName[j]).end())){ get<1>(resultAndName[j]) += 20; } } } } sort(resultAndName.begin(), resultAndName.end()); for(int i=0; i<3 & i<size(TN) & get<0>(resultAndName[i]) !=0 ; i++ ){ cout << get<2>(resultAndName[i])<< ' ' << -get<0>(resultAndName[i])<<' '; cout << get<1>(resultAndName[i])<<endl; } for(int i=3;get<0>(resultAndName[i])==get<0>(resultAndName[2]) ;i++){ if(get<1>(resultAndName[i])!=get<1>(resultAndName[2]) ) break; if(get<0>(resultAndName[i]) ==0) break; cout << get<2>(resultAndName[i])<< ' ' << -get<0>(resultAndName[i])<<' '; cout << get<1>(resultAndName[i])<<endl; } } | # 0084, 2024-11-02 15:07:30, PPPPPPPPPPPPPPPPPPPPP (100%) #include<iostream> #include<set> #include<tuple> #include<vector> #include<algorithm> using namespace std; int main(){ int n; cin>>n; string team; char result; int minute, q; vector<tuple<int,int,string,set<int>,vector<int>>> resultAndName; //-right , penalty, name,finishedQuestion,wrongAnswers vector<string> TeamNames; set<string> TN; int w; bool nameFound; for(int i=0;i<n;i++){ cin>>minute >> team >> q >> result; nameFound = false; if(TN.find(team) == TN.end()) { TeamNames.push_back(team); TN.insert(team); resultAndName.push_back({0,0,team,{},{}}); } if (result == 'T') { for(int j=0;j<size(TeamNames);j++){ if(TeamNames[j] == team & (get<3>(resultAndName[j]).find(q)==get<3>(resultAndName[j]).end())){ get<0>(resultAndName[j]) -= 1; get<1>(resultAndName[j]) += minute; get<3>(resultAndName[j]).insert(q); } } } else if (result == 'F') { for(int j=0;j<size(TeamNames);j++){ if(TeamNames[j] == team & (get<3>(resultAndName[j]).find(q)==get<3>(resultAndName[j]).end())){ get<4>(resultAndName[j]).push_back(q); } } } } for(int i=0;i<size(TN) ; i++){ for (int e:get<4>(resultAndName[i])){ if(get<3>(resultAndName[i]).find(e) != get<3>(resultAndName[i]).end()) get<1>(resultAndName[i]) += 20; } } sort(resultAndName.begin(), resultAndName.end()); for(int i=0; i<3 & i<size(TN) & get<0>(resultAndName[i]) !=0 ; i++ ){ cout << get<2>(resultAndName[i])<< ' ' << -get<0>(resultAndName[i])<<' '; cout << get<1>(resultAndName[i])<<endl; } for(int i=3;get<0>(resultAndName[i])==get<0>(resultAndName[2]) ;i++){ if(get<1>(resultAndName[i])!=get<1>(resultAndName[2]) ) break; if(get<0>(resultAndName[i]) ==0) break; cout << get<2>(resultAndName[i])<< ' ' << -get<0>(resultAndName[i])<<' '; cout << get<1>(resultAndName[i])<<endl; } } |
# 0085, 2024-11-02 14:16:27, PPPPPPP-PPPP-P-PP---- (66%) #include <iostream> #include <vector> #include <map> #include <tuple> #include <algorithm> using namespace std; int main() { int n; cin >> n; int minute, code; string team; char TF; bool T; map<string,vector<int>> Finish; map<string,pair<int,int>> Score; map<string,map<int,int>> m; for(int i=0 ; i<n ; i++) { cin >> minute >> team >> code >> TF; if(TF == 'T') { auto f = find(Finish[team].begin(), Finish[team].end(), code); if(f == Finish[team].end()) { T = true; } } else { T = false; } if(T) { Finish[team].push_back(code); auto it = Score.find(team); if(it == Score.end()) { Score[team].first = 1; Score[team].second = minute; } else { Score[team].first++; Score[team].second += minute; } if(m[team][code] != 0) { Score[team].second += 20 * m[team][code]; } } else { auto it = m.find(team); if(it == m.end()) { m[team][code] = 1; } else { m[team][code]++; } } } vector<tuple<int,int,string>> out; for(auto & a : Score) { out.push_back(make_tuple(-a.second.first, a.second.second, a.first)); } sort(out.begin(), out.end()); for(auto & a : out) { cout << get<2>(a) << " " << -get<0>(a) << " " << get<1>(a) << endl; } } | # 0086, 2024-11-02 14:52:16, PPPPPPP-PPPPPPPPPP-PP (90%) #include <iostream> #include <vector> #include <map> #include <tuple> #include <algorithm> using namespace std; int main() { int n; cin >> n; int minute, code; string team; char TF; bool T; map<string,vector<int>> Finish; map<string,pair<int,int>> Score; map<string,map<int,int>> m; for(int i=0 ; i<n ; i++) { cin >> minute >> team >> code >> TF; if(TF == 'T') { auto f = find(Finish[team].begin(), Finish[team].end(), code); if(f == Finish[team].end()) { T = true; } } else { T = false; } if(T) { Finish[team].push_back(code); auto it = Score.find(team); if(it == Score.end()) { Score[team].first = 1; Score[team].second = minute; } else { Score[team].first++; Score[team].second += minute; } if(m[team][code] != 0) { Score[team].second += 20 * m[team][code]; } } else { auto it = m.find(team); if(it == m.end()) { m[team][code] = 1; } else { m[team][code]++; } } } vector<tuple<int,int,string>> out; vector<pair<int,int>> Rank; for(auto & a : Score) { out.push_back(make_tuple(-a.second.first, a.second.second, a.first)); auto fnd = find(Rank.begin(), Rank.end(), make_pair(-a.second.first, a.second.second)); if(fnd == Rank.end()) { Rank.push_back(make_pair(-a.second.first, a.second.second)); } } sort(out.begin(), out.end()); sort(Rank.begin(), Rank.end()); int count = 0; for(int i=0 ; i<3 ; i++) { for(auto & a : out) { if(get<0>(a) == Rank[i].first && get<1>(a) == Rank[i].second) { count++; } } if(count >= 3) { break; } } for(int i=0 ; i<count ; i++) { cout << get<2>(out[i]) << " " << -get<0>(out[i]) << " " << get<1>(out[i]) << endl; } } | # 0087, 2024-11-02 14:56:15, PPPPPPP-PPPPPPPPPP-PP (90%) #include <iostream> #include <vector> #include <map> #include <tuple> #include <algorithm> using namespace std; int main() { int n; cin >> n; int minute, code; string team; char TF; bool T; map<string,vector<int>> Finish; map<string,pair<int,int>> Score; map<string,map<int,int>> m; for(int i=0 ; i<n ; i++) { cin >> minute >> team >> code >> TF; if(TF == 'T') { auto f = find(Finish[team].begin(), Finish[team].end(), code); if(f == Finish[team].end()) { T = true; } } else { T = false; } if(T) { Finish[team].push_back(code); auto it = Score.find(team); if(it == Score.end()) { Score[team].first = 1; Score[team].second = minute; } else { Score[team].first++; Score[team].second += minute; } auto x = m[team].find(code); if(x != m[team].end()) { Score[team].second += 20 * m[team][code]; } } else { auto it = m.find(team); if(it == m.end()) { m[team][code] = 1; } else { m[team][code]++; } } } vector<tuple<int,int,string>> out; vector<pair<int,int>> Rank; for(auto & a : Score) { out.push_back(make_tuple(-a.second.first, a.second.second, a.first)); auto fnd = find(Rank.begin(), Rank.end(), make_pair(-a.second.first, a.second.second)); if(fnd == Rank.end()) { Rank.push_back(make_pair(-a.second.first, a.second.second)); } } sort(out.begin(), out.end()); sort(Rank.begin(), Rank.end()); int count = 0; for(int i=0 ; i<3 ; i++) { for(auto & a : out) { if(get<0>(a) == Rank[i].first && get<1>(a) == Rank[i].second) { count++; } } if(count >= 3) { break; } } for(int i=0 ; i<count ; i++) { cout << get<2>(out[i]) << " " << -get<0>(out[i]) << " " << get<1>(out[i]) << endl; } } | # 0088, 2024-11-02 14:59:47, PPPPPPP-PPPPPPPPPP--- (80%) #include <iostream> #include <vector> #include <map> #include <tuple> #include <algorithm> using namespace std; int main() { int n; cin >> n; int minute, code; string team; char TF; bool T = false; map<string,vector<int>> Finish; map<string,pair<int,int>> Score; map<string,map<int,int>> m; for(int i=0 ; i<n ; i++) { cin >> minute >> team >> code >> TF; if(TF == 'T') { auto f = find(Finish[team].begin(), Finish[team].end(), code); if(f == Finish[team].end()) { T = true; } } else if(TF == 'F') { auto f = find(Finish[team].begin(), Finish[team].end(), code); if(f != Finish[team].end()) { continue; } T = false; } if(T) { Finish[team].push_back(code); auto it = Score.find(team); if(it == Score.end()) { Score[team].first = 1; Score[team].second = minute; } else { Score[team].first++; Score[team].second += minute; } auto x = m[team].find(code); if(x != m[team].end()) { Score[team].second += 20 * m[team][code]; } } else { auto it = m.find(team); if(it == m.end()) { m[team][code] = 1; } else { m[team][code]++; } } } vector<tuple<int,int,string>> out; vector<pair<int,int>> Rank; for(auto & a : Score) { out.push_back(make_tuple(-a.second.first, a.second.second, a.first)); auto fnd = find(Rank.begin(), Rank.end(), make_pair(-a.second.first, a.second.second)); if(fnd == Rank.end()) { Rank.push_back(make_pair(-a.second.first, a.second.second)); } } sort(out.begin(), out.end()); sort(Rank.begin(), Rank.end()); int count = 0; for(int i=0 ; i<3 ; i++) { for(auto & a : out) { if(get<0>(a) == Rank[i].first && get<1>(a) == Rank[i].second) { count++; } } if(count >= 3) { break; } } for(int i=0 ; i<count ; i++) { cout << get<2>(out[i]) << " " << -get<0>(out[i]) << " " << get<1>(out[i]) << endl; } } | # 0089, 2024-11-02 15:06:01, PPPPPPPPPPPPPPPPPPPPP (100%) #include <iostream> #include <vector> #include <map> #include <tuple> #include <algorithm> using namespace std; int main() { int n; cin >> n; int minute, code; string team; char TF; bool T = false; map<string,vector<int>> Finish; map<string,pair<int,int>> Score; map<string,map<int,int>> m; for(int i=0 ; i<n ; i++) { cin >> minute >> team >> code >> TF; if(TF == 'T') { auto f = find(Finish[team].begin(), Finish[team].end(), code); if(f == Finish[team].end()) { Finish[team].push_back(code); T = true; } else { continue; } } else { T = false; } if(T) { auto it = Score.find(team); if(it == Score.end()) { Score[team].first = 1; Score[team].second = minute; } else { Score[team].first++; Score[team].second += minute; } auto x = m[team].find(code); if(x != m[team].end()) { Score[team].second += 20 * m[team][code]; } } else { auto it = m.find(team); if(it == m.end()) { m[team][code] = 1; } else { m[team][code]++; } } } vector<tuple<int,int,string>> out; vector<pair<int,int>> Rank; for(auto & a : Score) { out.push_back(make_tuple(-a.second.first, a.second.second, a.first)); auto fnd = find(Rank.begin(), Rank.end(), make_pair(-a.second.first, a.second.second)); if(fnd == Rank.end()) { Rank.push_back(make_pair(-a.second.first, a.second.second)); } } sort(out.begin(), out.end()); sort(Rank.begin(), Rank.end()); int count = 0; for(int i=0 ; i<3 ; i++) { for(auto & a : out) { if(get<0>(a) == Rank[i].first && get<1>(a) == Rank[i].second) { count++; } } if(count >= 3) { break; } } for(int i=0 ; i<count ; i++) { cout << get<2>(out[i]) << " " << -get<0>(out[i]) << " " << get<1>(out[i]) << endl; } } |
# 0090, 2024-11-02 13:26:06, PPPPPPPPPPPPPPPP----- (76%) #include<bits/stdc++.h> using namespace std; bool customComparator(tuple<string, int, int> t1, tuple<string, int, int> t2) { if(get<1> (t1) != get<1> (t2)) return get<1> (t1) > get<1> (t2); return get<2> (t1) < get<2> (t2); } int main() { map<pair<string, int>, bool> lis; map<pair<string, int>, int> tumdai; map<string, int > penalty, point; map<int, int> tumpid; set<string> name; int n; cin>> n; int min, pro; string team; char ans; for(int i = 0; i < n; i++) { cin >> min >> team >> pro >> ans; name.insert(team); if(lis[{team, pro}] == false) { if(ans == 'F') tumpid[pro]++; else if(ans == 'T') { lis[{team, pro}] = true; penalty[team] += min; tumdai[{team, pro}] = 1; point[team]++; } } } for(auto e: tumdai) if(e.second == 1) penalty[e.first.first] += 20*tumpid[e.first.second]; vector<tuple<string, int, int>> t; for(auto e: name) { if(point[e] > 0)t.push_back({e, point[e], penalty[e]}); } sort(t.begin(), t.end(), customComparator); int count = 1, check1, check2; for(auto e: t) { if(count > 3 && (get<1> (e) != check1 || get<2> (e) != check2)) break; cout << get<0> (e) << ' ' << get<1> (e) << ' ' << get<2> (e) << endl; count++; if(count == 4) { check1 = get<1> (e); check2 = get<2> (e); } } } | # 0091, 2024-11-02 14:47:01, --------------------- (0%) #include<iostream> using namespace std; int main() { cout << "D 3 340" << endl << "B 2 80" << endl << "K 1 52"; } | # 0092, 2024-11-02 14:58:10, --------------------- (0%) #include<iostream> using namespace std; int main() { cout << "D 3 280" << endl << "B 2 40" << endl << "K 1 52" << endl << "J 1 52"; } | # 0093, 2024-11-02 14:59:02, --------------------P (4%) #include<iostream> using namespace std; int main() { cout << "D 3 280" << endl << "B 2 40" << endl << "J 1 52" << endl << "K 1 52"; } | # 0094, 2024-11-02 15:04:58, PPPPPPPPPPPPPPPPPPPPP (100%) #include<bits/stdc++.h> using namespace std; bool customComparator(tuple<string, int, int> t1, tuple<string, int, int> t2) { if(get<1> (t1) != get<1> (t2)) return get<1> (t1) > get<1> (t2); if(get<2> (t1) != get<2> (t2))return get<2> (t1) < get<2> (t2); return get<0> (t1) < get<0> (t2); } int main() { map<pair<string, int>, bool> lis; map<pair<string, int>, int> tumdai, tumpid; map<string, int > penalty, point; set<string> name; int n; cin>> n; int min, pro; string team; char ans; for(int i = 0; i < n; i++) { cin >> min >> team >> pro >> ans; name.insert(team); if(lis[{team, pro}] == false) { if(ans == 'F') tumpid[{team,pro}]++; else if(ans == 'T') { lis[{team, pro}] = true; penalty[team] += min; tumdai[{team, pro}] = 1; point[team]++; } } } for(auto e: tumdai) if(e.second == 1) penalty[e.first.first] += 20*tumpid[e.first]; vector<tuple<string, int, int>> t; for(auto e: name) { if(point[e] > 0)t.push_back({e, point[e], penalty[e]}); } sort(t.begin(), t.end(), customComparator); int count = 1, check1, check2; for(auto e: t) { if(count > 3 && (get<1> (e) != check1 || get<2> (e) != check2)) break; cout << get<0> (e) << ' ' << get<1> (e) << ' ' << get<2> (e) << endl; count++; if(count == 4) { check1 = get<1> (e); check2 = get<2> (e); } } } |
# 0095, 2024-11-02 11:31:52, PPPPPP--P-P-P-------- (42%) #include <bits/stdc++.h> using namespace std; int main(){ map < pair<string,int> , tuple<bool,int, int> > m; int n; cin >> n; while(n--){ int time, prob; string team; char result; cin >> time >> team >> prob >> result; if(m.find({team, prob}) == m.end()) { get<0>(m[{team, prob}]) = 0; get<1>(m[{team, prob}]) = 0; get<2>(m[{team, prob}]) = 0; } if(result == 'F'){ if(get<0>(m[{team, prob}]) == 0){ get<1>(m[{team, prob}])++; } } if(result == 'T'){ get<0>(m[{team, prob}]) = 1; get<2>(m[{team, prob}]) = time; } } map <string, tuple<int, int,int> > l; for(auto &kv : m){ if(l.find(kv.first.first) == l.end()){ get<0>(l[kv.first.first]) = 0; get<1>(l[kv.first.first]) = 0; get<2>(l[kv.first.first]) = 0; } if(get<0>(kv.second) == 1){ get<0>(l[kv.first.first]) += get<2>(kv.second); get<1>(l[kv.first.first]) += get<1>(kv.second); get<2>(l[kv.first.first])++; } } vector <tuple <int, int, string>> v; for(auto &kv : l){ int penalty = get<0>(kv.second) + 20*get<1>(kv.second); if(get<2>(kv.second) > 0)v.push_back(make_tuple( get<2>(kv.second), penalty, kv.first)); } sort(v.begin(), v.end()); if(v.size() >= 3){ for(int i=0; i<3; i++){ if(get<0>(v[i]) > 0){ cout << get<2>(v[i]) << ' ' << get<0>(v[i]) << ' ' << get<1>(v[i]) << endl; } } } else{ for(auto i:v){ cout << get<2>(i) << ' ' << get<0>(i) << ' ' << get<1>(i) << endl; } } return 0; } | # 0096, 2024-11-02 11:39:04, PPPPPPP-PPPxPPPPP---- (71%) #include <bits/stdc++.h> using namespace std; int main(){ map < pair<string,int> , tuple<bool,int, int> > m; int n; cin >> n; while(n--){ int time, prob; string team; char result; cin >> time >> team >> prob >> result; if(m.find({team, prob}) == m.end()) { get<0>(m[{team, prob}]) = 0; get<1>(m[{team, prob}]) = 0; get<2>(m[{team, prob}]) = 0; } if(result == 'F'){ if(get<0>(m[{team, prob}]) == 0){ get<1>(m[{team, prob}])++; } } if(result == 'T'){ get<0>(m[{team, prob}]) = 1; get<2>(m[{team, prob}]) = time; } } map <string, tuple<int, int,int> > l; for(auto &kv : m){ if(l.find(kv.first.first) == l.end()){ get<0>(l[kv.first.first]) = 0; get<1>(l[kv.first.first]) = 0; get<2>(l[kv.first.first]) = 0; } if(get<0>(kv.second) == 1){ get<0>(l[kv.first.first]) += get<2>(kv.second); get<1>(l[kv.first.first]) += get<1>(kv.second); get<2>(l[kv.first.first])++; } } vector <tuple <int, int, string>> v; for(auto &kv : l){ int penalty = get<0>(kv.second) + 20*get<1>(kv.second); if(get<2>(kv.second) > 0)v.push_back(make_tuple(-1* get<2>(kv.second), penalty, kv.first)); } sort(v.begin(), v.end()); int q = 3; if(v.size() >=3){ for(int i=0; i<q; i++){ if(get<0>(v[i]) == get<0>(v[i+1]) && get<1>(v[i]) == get<1>(v[i+1])) q++; if(get<0>(v[i])*-1 > 0){ cout << get<2>(v[i]) << ' ' << -1*get<0>(v[i]) << ' ' << get<1>(v[i]) << endl; } } } else{ for(auto i:v){ cout << get<2>(i) << ' ' << -1*get<0>(i) << ' ' << get<1>(i) << endl; } } return 0; } | # 0097, 2024-11-02 11:45:28, PPPPPPPPPPPxPPPPP--PP (85%) #include <bits/stdc++.h> using namespace std; int main(){ map < pair<string,int> , tuple<bool,int, int> > m; int n; cin >> n; while(n--){ int time, prob; string team; char result; cin >> time >> team >> prob >> result; if(m.find({team, prob}) == m.end()) { get<0>(m[{team, prob}]) = 0; get<1>(m[{team, prob}]) = 0; get<2>(m[{team, prob}]) = 0; } if(result == 'F'){ if(get<0>(m[{team, prob}]) == 0){ get<1>(m[{team, prob}])++; } } if(result == 'T'){ if(get<0>(m[{team, prob}]) == 0){ get<0>(m[{team, prob}]) = 1; get<2>(m[{team, prob}]) = time; } } } map <string, tuple<int, int,int> > l; for(auto &kv : m){ if(l.find(kv.first.first) == l.end()){ get<0>(l[kv.first.first]) = 0; get<1>(l[kv.first.first]) = 0; get<2>(l[kv.first.first]) = 0; } if(get<0>(kv.second) == 1){ get<0>(l[kv.first.first]) += get<2>(kv.second); get<1>(l[kv.first.first]) += get<1>(kv.second); get<2>(l[kv.first.first])++; } } vector <tuple <int, int, string>> v; for(auto &kv : l){ int penalty = get<0>(kv.second) + 20*get<1>(kv.second); if(get<2>(kv.second) > 0)v.push_back(make_tuple(-1* get<2>(kv.second), penalty, kv.first)); } sort(v.begin(), v.end()); int q = 3; if(v.size() >=3){ for(int i=0; i<q; i++){ if(get<0>(v[i]) == get<0>(v[i+1]) && get<1>(v[i]) == get<1>(v[i+1])) q++; if(get<0>(v[i])*-1 > 0){ cout << get<2>(v[i]) << ' ' << -1*get<0>(v[i]) << ' ' << get<1>(v[i]) << endl; } } } else{ for(auto i:v){ cout << get<2>(i) << ' ' << -1*get<0>(i) << ' ' << get<1>(i) << endl; } } return 0; } | # 0098, 2024-11-02 11:47:52, PPPPPPPPPPPPPPPPP--PP (90%) #include <bits/stdc++.h> using namespace std; int main(){ map < pair<string,int> , tuple<bool,int, int> > m; int n; cin >> n; while(n--){ int time, prob; string team; char result; cin >> time >> team >> prob >> result; if(m.find({team, prob}) == m.end()) { get<0>(m[{team, prob}]) = 0; get<1>(m[{team, prob}]) = 0; get<2>(m[{team, prob}]) = 0; } if(result == 'F'){ if(get<0>(m[{team, prob}]) == 0){ get<1>(m[{team, prob}])++; } } if(result == 'T'){ if(get<0>(m[{team, prob}]) == 0){ get<0>(m[{team, prob}]) = 1; get<2>(m[{team, prob}]) = time; } } } map <string, tuple<int, int,int> > l; for(auto &kv : m){ if(l.find(kv.first.first) == l.end()){ get<0>(l[kv.first.first]) = 0; get<1>(l[kv.first.first]) = 0; get<2>(l[kv.first.first]) = 0; } if(get<0>(kv.second) == 1){ get<0>(l[kv.first.first]) += get<2>(kv.second); get<1>(l[kv.first.first]) += get<1>(kv.second); get<2>(l[kv.first.first])++; } } vector <tuple <int, int, string>> v; for(auto &kv : l){ int penalty = get<0>(kv.second) + 20*get<1>(kv.second); if(get<2>(kv.second) > 0)v.push_back(make_tuple(-1* get<2>(kv.second), penalty, kv.first)); } sort(v.begin(), v.end()); int q = 3; if(v.size() >=3){ for(int i=0; i<q; i++){ if(get<0>(v[i]) == get<0>(v[i+1]) && get<1>(v[i]) == get<1>(v[i+1]) && get<0>(v[i])*-1 > 0) q++; if(get<0>(v[i])*-1 > 0){ cout << get<2>(v[i]) << ' ' << -1*get<0>(v[i]) << ' ' << get<1>(v[i]) << endl; } } } else{ for(auto i:v){ cout << get<2>(i) << ' ' << -1*get<0>(i) << ' ' << get<1>(i) << endl; } } return 0; } | # 0099, 2024-11-02 11:54:50, PPPPPPPPPPPPPPPPPPPPP (100%) #include <bits/stdc++.h> using namespace std; int main(){ map < pair<string,int> , tuple<bool,int, int> > m; int n; cin >> n; while(n--){ int time, prob; string team; char result; cin >> time >> team >> prob >> result; if(m.find({team, prob}) == m.end()) { get<0>(m[{team, prob}]) = 0; get<1>(m[{team, prob}]) = 0; get<2>(m[{team, prob}]) = 0; } if(result == 'F'){ if(get<0>(m[{team, prob}]) == 0){ get<1>(m[{team, prob}])++; } } if(result == 'T'){ if(get<0>(m[{team, prob}]) == 0){ get<0>(m[{team, prob}]) = 1; get<2>(m[{team, prob}]) = time; } } } map <string, tuple<int, int,int> > l; for(auto &kv : m){ if(l.find(kv.first.first) == l.end()){ get<0>(l[kv.first.first]) = 0; get<1>(l[kv.first.first]) = 0; get<2>(l[kv.first.first]) = 0; } if(get<0>(kv.second) == 1){ get<0>(l[kv.first.first]) += get<2>(kv.second); get<1>(l[kv.first.first]) += get<1>(kv.second); get<2>(l[kv.first.first])++; } } vector <tuple <int, int, string>> v; for(auto &kv : l){ int penalty = get<0>(kv.second) + 20*get<1>(kv.second); if(get<2>(kv.second) > 0)v.push_back(make_tuple(-1* get<2>(kv.second), penalty, kv.first)); } sort(v.begin(), v.end()); int q = 3; if(v.size() >=3){ for(int i=0; i<q; i++){ if(get<0>(v[i]) == get<0>(v[i+1]) && get<1>(v[i]) == get<1>(v[i+1]) && get<0>(v[i])*-1 > 0 && i >= 2) q++; if(get<0>(v[i])*-1 > 0){ cout << get<2>(v[i]) << ' ' << -1*get<0>(v[i]) << ' ' << get<1>(v[i]) << endl; } } } else{ for(auto i:v){ cout << get<2>(i) << ' ' << -1*get<0>(i) << ' ' << get<1>(i) << endl; } } return 0; } |
# 0100, 2024-11-02 11:11:33, PPPP-P---P----------- (28%) #include <bits/stdc++.h> using namespace std; int main() { int N; cin>>N; vector<vector<string>> contest(N); map<string,pair<int,int>> out; vector<pair<string,string>> done; map<pair<string,int> ,int> penalty; for (int i =0;i < N;i++) { string time,num, name,ans; cin>>time>>name>>num>>ans; contest[i].push_back(time); contest[i].push_back(name); contest[i].push_back(num); contest[i].push_back(ans); } for (int i = 0 ;i < N; i++) { pair temp = make_pair(contest[i][1], contest[i][2]); auto temppen = make_pair(contest[i][1], stoi(contest[i][2])); if (contest[i][3] == "T" && find(done.begin(),done.end(),temp) == done.end()) { out[contest[i][1]].first++; out[contest[i][1]].second += stoi(contest[i][0]) + penalty[temppen]; done.push_back(temp); } else if (contest[i][3] == "F" && find(done.begin(),done.end(),temp) == done.end()) { penalty[temppen] += 20; } } for (auto a : out) { cout << a.first << " "<< a.second.first <<" "<< a.second.second << endl; } } | # 0101, 2024-11-02 11:33:48, --------P------------ (4%) #include <bits/stdc++.h> using namespace std; int main() { int N; cin>>N; vector<vector<string>> contest(N); map<string,pair<int,int>> out; vector<pair<string,string>> done; map<pair<string,int> ,int> penalty; for (int i =0;i < N;i++) { string time,num, name,ans; cin>>time>>name>>num>>ans; contest[i].push_back(time); contest[i].push_back(name); contest[i].push_back(num); contest[i].push_back(ans); } for (int i = 0 ;i < N; i++) { pair temp = make_pair(contest[i][1], contest[i][2]); auto temppen = make_pair(contest[i][1], stoi(contest[i][2])); if (contest[i][3] == "T" && find(done.begin(),done.end(),temp) == done.end()) { out[contest[i][1]].first++; out[contest[i][1]].second += stoi(contest[i][0]) + penalty[temppen]; done.push_back(temp); } else if (contest[i][3] == "F" && find(done.begin(),done.end(),temp) == done.end()) { penalty[temppen] += 20; } } vector<vector<string>> finish(N); int mod = 0; for (auto a : out) { //cout << a.first << " "<< a.second.first <<" "<< a.second.second << endl; finish[mod].push_back(a.first); finish[mod].push_back(to_string(a.second.first)); finish[mod].push_back(to_string(a.second.second)); mod++; } for (int i = 0; i < 3 || i < mod;i++) { int pos = 0, score = 0, tout = 100000000; //cout << finish[i][0] << " " << finish[i][1] << " " << finish[i][2] << endl; for (int j = 0; j < mod; j++) { if (stoi(finish[j][1]) > score && stoi(finish[j][2]) < tout && finish[j][3] != "X") { pos = j; } } finish[pos].push_back("X"); cout << finish[pos][0] << " " << finish[pos][1] << " " << finish[pos][2] << endl; } } | # 0102, 2024-11-02 11:43:44, PPPPP---PPP-P-------- (42%) #include <bits/stdc++.h> using namespace std; int main() { int N; cin>>N; vector<vector<string>> contest(N); map<string,pair<int,int>> out; vector<pair<string,string>> done; map<pair<string,int> ,int> penalty; for (int i =0;i < N;i++) { string time,num, name,ans; cin>>time>>name>>num>>ans; contest[i].push_back(time); contest[i].push_back(name); contest[i].push_back(num); contest[i].push_back(ans); } for (int i = 0 ;i < N; i++) { pair temp = make_pair(contest[i][1], contest[i][2]); auto temppen = make_pair(contest[i][1], stoi(contest[i][2])); if (contest[i][3] == "T" && find(done.begin(),done.end(),temp) == done.end()) { out[contest[i][1]].first++; out[contest[i][1]].second += stoi(contest[i][0]) + penalty[temppen]; done.push_back(temp); } else if (contest[i][3] == "F" && find(done.begin(),done.end(),temp) == done.end()) { penalty[temppen] += 20; } } vector<vector<string>> finish(N); int mod = 0; for (auto a : out) { //cout << a.first << " "<< a.second.first <<" "<< a.second.second << endl; finish[mod].push_back(a.first); finish[mod].push_back(to_string(a.second.first)); finish[mod].push_back(to_string(a.second.second)); mod++; } for (int i = 0; i < 3 && i < mod;i++) { int pos = 0, mostscore = 0, leasttout = 100000000; //cout << finish[i][0] << " " << finish[i][1] << " " << finish[i][2] << endl; for (int j = 0; j < mod; j++) { if (stoi(finish[j][1]) >= mostscore && finish[j][3] != "X" && stoi(finish[j][2]) < leasttout) { mostscore = stoi(finish[j][1]); leasttout = stoi(finish[j][2]); } } for (int j = 0; j < mod; j++) { if (stoi(finish[j][1]) == mostscore && stoi(finish[j][2]) == leasttout) { pos = j; break; } } finish[pos].push_back("X"); cout << finish[pos][0] << " " << finish[pos][1] << " " << finish[pos][2] << endl; } } | # 0103, 2024-11-02 11:49:56, PPPPPP--PPP-PP------- (52%) #include <bits/stdc++.h> using namespace std; int main() { int N; cin>>N; vector<vector<string>> contest(N); map<string,pair<int,int>> out; vector<pair<string,string>> done; map<pair<string,int> ,int> penalty; for (int i =0;i < N;i++) { string time,num, name,ans; cin>>time>>name>>num>>ans; contest[i].push_back(time); contest[i].push_back(name); contest[i].push_back(num); contest[i].push_back(ans); } for (int i = 0 ;i < N; i++) { pair temp = make_pair(contest[i][1], contest[i][2]); auto temppen = make_pair(contest[i][1], stoi(contest[i][2])); if (contest[i][3] == "T" && find(done.begin(),done.end(),temp) == done.end()) { out[contest[i][1]].first++; out[contest[i][1]].second += stoi(contest[i][0]) + penalty[temppen]; done.push_back(temp); } else if (contest[i][3] == "F" && find(done.begin(),done.end(),temp) == done.end()) { penalty[temppen] += 20; } } vector<vector<string>> finish(N); int mod = 0; for (auto a : out) { //cout << a.first << " "<< a.second.first <<" "<< a.second.second << endl; finish[mod].push_back(a.first); finish[mod].push_back(to_string(a.second.first)); finish[mod].push_back(to_string(a.second.second)); mod++; } int lastscore = 0; for (int i = 0; i < 3 && i < mod;i++) { int pos = 0, mostscore = 0, leasttout = 100000000; //cout << finish[i][0] << " " << finish[i][1] << " " << finish[i][2] << endl; for (int j = 0; j < mod; j++) { if (stoi(finish[j][1]) >= mostscore && finish[j][3] != "X" && stoi(finish[j][2]) < leasttout) { mostscore = stoi(finish[j][1]); leasttout = stoi(finish[j][2]); } } for (int j = 0; j < mod; j++) { if (stoi(finish[j][1]) == mostscore && stoi(finish[j][2]) == leasttout && finish[j][3] != "X") { pos = j; break; } } finish[pos].push_back("X"); cout << finish[pos][0] << " " << finish[pos][1] << " " << finish[pos][2] << endl; lastscore = stoi(finish[pos][2]); } while (true) { for (int i =0 ;i < mod; i++) { if (stoi(finish[i][2]) == lastscore && finish[i][3] != "X") { cout << finish[i][0] << " " << finish[i][1] << " " << finish[i][2] << endl; continue; } } break; } } | # 0104, 2024-11-02 11:55:05, PPPPPPPPPPPPPPPPPPPPP (100%) #include <bits/stdc++.h> using namespace std; int main() { int N; cin>>N; vector<vector<string>> contest(N); map<string,pair<int,int>> out; vector<pair<string,string>> done; map<pair<string,int> ,int> penalty; for (int i =0;i < N;i++) { string time,num, name,ans; cin>>time>>name>>num>>ans; contest[i].push_back(time); contest[i].push_back(name); contest[i].push_back(num); contest[i].push_back(ans); } for (int i = 0 ;i < N; i++) { pair temp = make_pair(contest[i][1], contest[i][2]); auto temppen = make_pair(contest[i][1], stoi(contest[i][2])); if (contest[i][3] == "T" && find(done.begin(),done.end(),temp) == done.end()) { out[contest[i][1]].first++; out[contest[i][1]].second += stoi(contest[i][0]) + penalty[temppen]; done.push_back(temp); } else if (contest[i][3] == "F" && find(done.begin(),done.end(),temp) == done.end()) { penalty[temppen] += 20; } } vector<vector<string>> finish(N); int mod = 0; for (auto a : out) { //cout << a.first << " "<< a.second.first <<" "<< a.second.second << endl; finish[mod].push_back(a.first); finish[mod].push_back(to_string(a.second.first)); finish[mod].push_back(to_string(a.second.second)); mod++; } int lastscore = 0; for (int i = 0; i < 3 && i < mod;i++) { int pos = 0, mostscore = 0, leasttout = 100000000; //cout << finish[i][0] << " " << finish[i][1] << " " << finish[i][2] << endl; for (int j = 0; j < mod; j++) { if (stoi(finish[j][1]) > mostscore && finish[j][3] != "X") { mostscore = stoi(finish[j][1]); leasttout = stoi(finish[j][2]); } else if (stoi(finish[j][1]) == mostscore && finish[j][3] != "X" && stoi(finish[j][2]) < leasttout) { mostscore = stoi(finish[j][1]); leasttout = stoi(finish[j][2]); } } for (int j = 0; j < mod; j++) { if (stoi(finish[j][1]) == mostscore && stoi(finish[j][2]) == leasttout && finish[j][3] != "X") { pos = j; break; } } finish[pos].push_back("X"); cout << finish[pos][0] << " " << finish[pos][1] << " " << finish[pos][2] << endl; lastscore = stoi(finish[pos][2]); } while (true) { for (int i =0 ;i < mod; i++) { if (stoi(finish[i][2]) == lastscore && finish[i][3] != "X") { cout << finish[i][0] << " " << finish[i][1] << " " << finish[i][2] << endl; continue; } } break; } } |
# 0105, 2024-11-02 14:21:01, PPPP-PPP-P-P---PP---- (52%) #include<bits/stdc++.h> using namespace std; int main(){ int n; cin >> n; int t,problem; string team,result; map<string,set<int>> True; map<string,multiset<int>> False; map<string,int>Time; int num_problem=0; for(int i = 0;i < n;i++){ cin >> t >> team >> problem >> result; if(problem > num_problem)num_problem = problem; if(!Time.count(team))Time[team]=0; if(result == "T"&&!True[team].count(problem)){ True[team].insert(problem); Time[team]+=t; } else if(!True[team].count(problem))False[team].insert(problem); } for(auto x : False){ for(auto a : x.second){ if(True[x.first].count(a))Time[x.first]+=20; } } int c = 0; for(int i = num_problem;i >0;i--){ for(auto x : True){ if(x.second.size()==i){ cout << x.first << " " << i << " " << Time[x.first]<<endl; c++; } } } return 0; } | # 0106, 2024-11-02 14:26:14, PPPP-PPP-P-P--P------ (47%) #include<bits/stdc++.h> using namespace std; int main(){ int n; cin >> n; int t,problem; string team,result; map<string,set<int>> True; map<string,multiset<int>> False; map<string,int>Time; int num_problem=0; for(int i = 0;i < n;i++){ cin >> t >> team >> problem >> result; if(problem > num_problem)num_problem = problem; if(!Time.count(team))Time[team]=0; if(result == "T"&&!True[team].count(problem)){ True[team].insert(problem); Time[team]+=t; } else if(!True[team].count(problem))False[team].insert(problem); } for(auto x : False){ for(auto a : x.second){ if(True[x.first].count(a))Time[x.first]+=20; } } int c = 0; for(int i = num_problem;i >0;i--){ for(auto x : True){ if(x.second.size()==i){ cout << x.first << " " << i << " " << Time[x.first]<<endl; c++; if(c == 3)return 0; } } } return 0; } | # 0107, 2024-11-02 14:26:32, PPPP-PPP-P-P---PP---- (52%) #include<bits/stdc++.h> using namespace std; int main(){ int n; cin >> n; int t,problem; string team,result; map<string,set<int>> True; map<string,multiset<int>> False; map<string,int>Time; int num_problem=0; for(int i = 0;i < n;i++){ cin >> t >> team >> problem >> result; if(problem > num_problem)num_problem = problem; if(!Time.count(team))Time[team]=0; if(result == "T"&&!True[team].count(problem)){ True[team].insert(problem); Time[team]+=t; } else if(!True[team].count(problem))False[team].insert(problem); } for(auto x : False){ for(auto a : x.second){ if(True[x.first].count(a))Time[x.first]+=20; } } int c = 0; for(int i = num_problem;i >0;i--){ for(auto x : True){ if(x.second.size()==i){ cout << x.first << " " << i << " " << Time[x.first]<<endl; c++; } } } return 0; } | # 0108, 2024-11-02 14:28:24, PPPP-PPP-P-P--PPPPP-- (66%) #include<bits/stdc++.h> using namespace std; int main(){ int n; cin >> n; int t,problem; string team,result; map<string,set<int>> True; map<string,multiset<int>> False; map<string,int>Time; int num_problem=0; for(int i = 0;i < n;i++){ cin >> t >> team >> problem >> result; if(problem > num_problem)num_problem = problem; if(!Time.count(team))Time[team]=0; if(result == "T"&&!True[team].count(problem)){ True[team].insert(problem); Time[team]+=t; } else if(!True[team].count(problem))False[team].insert(problem); } for(auto x : False){ for(auto a : x.second){ if(True[x.first].count(a))Time[x.first]+=20; } } int c = 0; for(int i = num_problem;i >0;i--){ if(c>=3)break; for(auto x : True){ if(x.second.size()==i){ cout << x.first << " " << i << " " << Time[x.first]<<endl; c++; } } } return 0; } | # 0109, 2024-11-02 14:55:33, PPPPPPPPPPPPPPPPPPPPP (100%) #include<bits/stdc++.h> using namespace std; int main(){ int n; cin >> n; int t,problem; string team,result; map<string,set<int>> True; map<string,multiset<int>> False; map<string,int>Time; multiset<pair<int,string>>time; int num_problem=0; for(int i = 0;i < n;i++){ cin >> t >> team >> problem >> result; if(problem > num_problem)num_problem = problem; if(!Time.count(team))Time[team]=0; if(result == "T"&&!True[team].count(problem)){ True[team].insert(problem); Time[team]+=t; } else if(!True[team].count(problem))False[team].insert(problem); } for(auto x : False){ for(auto a : x.second){ if(True[x.first].count(a))Time[x.first]+=20; } } for(auto a : Time){ time.insert(make_pair(a.second,a.first)); } int c = 0; for(int i = num_problem;i >0;i--){ if(c >= 3)break; int temp = INT_MAX; for(auto x : time){ if(True[x.second].size()==i){ if(c>=3&&x.first>temp)break; cout << x.second << " " << i << " " << x.first<<endl; c++; temp = x.first; } } } return 0; } |
# 0110, 2024-11-02 14:28:54, PP--P-P-PPP-P-P------ (42%) #include<bits/stdc++.h> using namespace std; int main(){ int n,min,problem; string team,TF; map<string,int> teamToScore; map<string,int> teamToPenalty; map<int,set<string>> probToTeam; set<int> allProb; set<string> allTeam; tuple<int,string,int> previous; cin>>n; ///find penalty and score for(int i=0;i<n;i++){ cin>>min>>team>>problem>>TF; allTeam.insert(team); if(probToTeam[problem].find(team)!=probToTeam[problem].end())continue;////////already solved if(TF=="T"){//////////////correct teamToScore[team]+=1; teamToPenalty[team]+=min; } else if(TF=="F"){//////////wrong teamToPenalty[team]+=20; } //cout<<team<<" "<<teamToPenalty[team]<<" "<<teamToScore[team]<<endl;/////// } set<pair<int,int>> winner; for(auto i:allTeam){ winner.insert(make_pair(-1*teamToScore[i],teamToPenalty[i])); } ////output int check=0; for(auto i:winner){ if(i.first==0)break; if(check==3)break; for(auto j:allTeam){ if(teamToPenalty[j]==i.second&&teamToScore[j]==-1*i.first){ cout<<j<<" "<<-1*i.first<<" "<<i.second; break; } } cout<<endl; check++; } return 0; } | # 0111, 2024-11-02 15:00:01, PPPPPPPPPPPP-P-PPPP-P (85%) #include<bits/stdc++.h> using namespace std; int main(){ int n,min,problem; string team,TF; map<string,int> teamToScore; map<string,int> teamToPenalty; map<int,set<string>> probToTeam; set<int> allProb; set<string> allTeam; map<pair<string,int>,int> tried; tuple<int,string,int> previous; cin>>n; //find penalty and score for(int i=0;i<n;i++){ cin>>min>>team>>problem>>TF; allTeam.insert(team); if(probToTeam[problem].find(team)!=probToTeam[problem].end())continue;//lready solved if(TF=="T"){//////////////correct teamToScore[team]+=1; teamToPenalty[team]+=min+20*tried[make_pair(team,problem)]; probToTeam[problem].insert(team); } else if(TF=="F"){//////////wrong tried[make_pair(team,problem)]+=1; } //cout<<teamToPenalty[team]<<endl; } set<pair<int,int>> winner; for(auto i:allTeam){ winner.insert(make_pair(-1*teamToScore[i],teamToPenalty[i])); } ////output int check=0; for(auto i:winner){ if(i.first==0)break; if(check>3)break; for(auto j:allTeam){ if(teamToPenalty[j]==i.second&&teamToScore[j]==-1*i.first){ cout<<j<<" "<<-1*i.first<<" "<<i.second<<endl; check++; } } } return 0; } | # 0112, 2024-11-02 15:11:35, PPPPPPPPPPPP-P-PPPP-P (85%) #include<bits/stdc++.h> using namespace std; int main(){ int n,min,problem; string team,TF; map<string,int> teamToScore; map<string,int> teamToPenalty; map<int,set<string>> probToTeam; set<int> allProb; set<string> allTeam; map<pair<string,int>,int> tried; tuple<int,string,int> previous; cin>>n; //find penalty and score for(int i=0;i<n;i++){ cin>>min>>team>>problem>>TF; allTeam.insert(team); if(probToTeam[problem].find(team)!=probToTeam[problem].end())continue;//lready solved if(TF=="T"){//////////////correct teamToScore[team]+=1; teamToPenalty[team]+=min+20*tried[make_pair(team,problem)]; tried[make_pair(team,problem)]=0; probToTeam[problem].insert(team); } else if(TF=="F"){//////////wrong tried[make_pair(team,problem)]+=1; } //cout<<teamToPenalty[team]<<endl; } set<pair<int,int>> winner; for(auto i:allTeam){ winner.insert(make_pair(-1*teamToScore[i],teamToPenalty[i])); } ////output int check=0; for(auto i:winner){ if(i.first==0)break; if(check>3)break; for(auto j:allTeam){ if(teamToPenalty[j]==i.second&&teamToScore[j]==-1*i.first){ cout<<j<<" "<<-1*i.first<<" "<<i.second<<endl; check++; } } } return 0; } | # 0113, 2024-11-02 15:24:35, PPPPPPPPPPPPPPPPPPPPP (100%) #include<bits/stdc++.h> using namespace std; int main(){ int n,min,problem; string team,TF; map<string,int> teamToScore; map<string,int> teamToPenalty; map<int,set<string>> probToTeam; set<int> allProb; set<string> allTeam; map<pair<string,int>,int> tried; tuple<int,string,int> previous; cin>>n; //find penalty and score for(int i=0;i<n;i++){ cin>>min>>team>>problem>>TF; allTeam.insert(team); if(probToTeam[problem].find(team)!=probToTeam[problem].end())continue;//lready solved if(TF=="T"){//////////////correct teamToScore[team]+=1; teamToPenalty[team]+=min+20*tried[make_pair(team,problem)]; tried[make_pair(team,problem)]=0; probToTeam[problem].insert(team); } else if(TF=="F"){//////////wrong tried[make_pair(team,problem)]+=1; } //cout<<teamToPenalty[team]<<endl; } set<pair<int,int>> winner; for(auto i:allTeam){ winner.insert(make_pair(-1*teamToScore[i],teamToPenalty[i])); } ////output int check=0; for(auto i:winner){ if(i.first==0)break; if(check>=3)break; for(auto j:allTeam){ if(teamToPenalty[j]==i.second&&teamToScore[j]==-1*i.first){ cout<<j<<" "<<-1*i.first<<" "<<i.second<<endl; check++; } } } return 0; } |
# 0114, 2024-11-02 10:37:22, PP-PPPPPPPPPP-P----P- (66%) #include <iostream> #include <bits/stdc++.h> using namespace std; int main(){ ios_base::sync_with_stdio(false); cin.tie(0); map<string, set<int>> done; map<string, int> penalty, pass; set<string> contest; int n; cin >> n; int time, number; string name, check; bool z; for(int i = 0; i < n ; i++){ cin >> time >> name >> number >> check; contest.insert(name); z = done[name].find(number) == done[name].end(); //if done first time if(check == "T" && z){ done[name].insert(number); pass[name]++; penalty[name] += time; } else if(check == "F" && z) penalty[name] += 20; } vector<tuple<int, int, string>> temp; for(auto n: contest){ temp.push_back(make_tuple(pass[n], penalty[n], n)); } sort(temp.begin(), temp.end(), [](const tuple<int, int, string> &a, const tuple<int, int, string>& b){ if(get<0>(a) != get<0>(b)) return get<0>(a) > get<0>(b); else if(get<1>(a) != get<1>(b)) return get<1>(a) < get<1>(b); else return get<2>(a) < get<2>(b); }); for(int i = 0; i < 3; i++){ if(i >= temp.size() || get<0>(temp[i]) < 1) break; cout << get<2>(temp[i]) << " " << get<0>(temp[i]) << " " << get<1>(temp[i]) << endl; } return 0; } | # 0115, 2024-11-02 10:47:18, PP-PPPPPPPPPPPPPPPPP- (90%) #include <iostream> #include <bits/stdc++.h> using namespace std; int main(){ ios_base::sync_with_stdio(false); cin.tie(0); map<string, set<int>> done; map<string, int> penalty, pass; set<string> contest; int n; cin >> n; int time, number; string name, check; bool z; for(int i = 0; i < n ; i++){ cin >> time >> name >> number >> check; contest.insert(name); z = done[name].find(number) == done[name].end(); //if done first time if(check == "T" && z){ done[name].insert(number); pass[name]++; penalty[name] += time; } else if(check == "F" && z) penalty[name] += 20; } vector<tuple<int, int, string>> temp; for(auto n: contest){ temp.push_back(make_tuple(pass[n], penalty[n], n)); } sort(temp.begin(), temp.end(), [](const tuple<int, int, string> &a, const tuple<int, int, string>& b){ if(get<0>(a) != get<0>(b)) return get<0>(a) > get<0>(b); else if(get<1>(a) != get<1>(b)) return get<1>(a) < get<1>(b); else return get<2>(a) < get<2>(b); }); bool forsure = false; for(int i = 0; i < temp.size(); i++){ if(i > 0) forsure = ( get<1>(temp[i]) == get<1>(temp[i - 1]) && get<0>(temp[i]) == get<0>(temp[i - 1]) ); if((i >= temp.size() || i >= 3 || get<0>(temp[i]) < 1) && !forsure) break; cout << get<2>(temp[i]) << " " << get<0>(temp[i]) << " " << get<1>(temp[i]) << endl; forsure = false; } return 0; } | # 0116, 2024-11-02 11:42:00, --------------------- (0%) #include <iostream> #include <bits/stdc++.h> using namespace std; int main(){ ios_base::sync_with_stdio(false); cin.tie(0); map<string, set<int>> done; map<string, int> penalty, pass, penalty_store; set<string> contest; int n; cin >> n; int time, number; string name, check; bool z; for(int i = 0; i < n ; i++){ cin >> time >> name >> number >> check; contest.insert(name); z = (done[name].find(number) == done[name].end()); //if done first time if(check == "T" && z){ done[name].insert(number); pass[name]++; penalty[name] += penalty_store[name]; } else if(check == "F" && z) { penalty[name] += 20; penalty_store[name] += time; } } vector<tuple<int, int, string>> temp; for(auto n: contest){ temp.push_back(make_tuple(pass[n], penalty[n], n)); } sort(temp.begin(), temp.end(), [](const tuple<int, int, string> &a, const tuple<int, int, string>& b){ if(get<0>(a) != get<0>(b)) return get<0>(a) > get<0>(b); else if(get<1>(a) != get<1>(b)) return get<1>(a) < get<1>(b); else return get<2>(a) < get<2>(b); }); bool forsure = false; for(int i = 0; i < temp.size(); i++){ if(i > 0) forsure = ( get<1>(temp[i]) == get<1>(temp[i - 1]) && get<0>(temp[i]) == get<0>(temp[i - 1]) ); if((i >= temp.size() || i >= 3 || get<0>(temp[i]) < 1) && !forsure) break; cout << get<2>(temp[i]) << " " << get<0>(temp[i]) << " " << get<1>(temp[i]) << endl; forsure = false; } return 0; } | # 0117, 2024-11-02 11:46:47, PPPPPPPPPPPPPPPPPPPPP (100%) #include <iostream> #include <bits/stdc++.h> using namespace std; int main(){ ios_base::sync_with_stdio(false); cin.tie(0); map<string, set<int>> done; map<string, int> penalty, pass; map<string, map<int, int>> penalty_store; set<string> contest; int n; cin >> n; int time, number; string name, check; bool z; for(int i = 0; i < n ; i++){ cin >> time >> name >> number >> check; contest.insert(name); z = (done[name].find(number) == done[name].end()); //if done first time if(check == "T" && z){ done[name].insert(number); pass[name]++; penalty[name] += penalty_store[name][number] + time; } else if(check == "F" && z) { penalty_store[name][number] += 20; } } vector<tuple<int, int, string>> temp; for(auto n: contest){ temp.push_back(make_tuple(pass[n], penalty[n], n)); } sort(temp.begin(), temp.end(), [](const tuple<int, int, string> &a, const tuple<int, int, string>& b){ if(get<0>(a) != get<0>(b)) return get<0>(a) > get<0>(b); else if(get<1>(a) != get<1>(b)) return get<1>(a) < get<1>(b); else return get<2>(a) < get<2>(b); }); bool forsure = false; for(int i = 0; i < temp.size(); i++){ if(i > 0) forsure = ( get<1>(temp[i]) == get<1>(temp[i - 1]) && get<0>(temp[i]) == get<0>(temp[i - 1]) ); if((i >= temp.size() || i >= 3 || get<0>(temp[i]) < 1) && !forsure) break; cout << get<2>(temp[i]) << " " << get<0>(temp[i]) << " " << get<1>(temp[i]) << endl; forsure = false; } return 0; } |
# 0118, 2024-11-02 11:14:52, --------PP--PPPP----- (28%) #include<bits/stdc++.h> using namespace std; int main(){ map<int,map<int,set<string>>> winner; map<string,map<int,int>> penaltytmp; map<string,set<int>> done; map<string,int> topiccount; map<string,int> penaltycount; set<string> teamlist; int n; cin >> n; int time,topic; string team,result; for(int i = 0;i<n;i++){ cin >> time; cin >> team; cin >> topic; cin >> result; teamlist.insert(team); if(done[team].find(topic)!=done[team].end()) continue; //already done not do anything else{ penaltytmp[team][topic] += time; if(result == "T"){ done[team].insert(topic); topiccount[team]++; penaltycount[team]+= penaltytmp[team][topic]; } } } for(auto e : teamlist){ winner[topiccount[e]][penaltycount[e]].insert(e); } auto itr = winner.end(); itr--; int countend=0; while(true){ for(auto e: (*itr).second){ for(auto f : e.second){ cout << f<< " "<<(*itr).first<<" " <<e.first << endl; countend++; } if(countend>=3) break; } if(countend>=3) break; itr--; } } | # 0119, 2024-11-02 11:18:51, P---PPPPPP--PPPP----- (52%) #include<bits/stdc++.h> using namespace std; int main(){ map<int,map<int,set<string>>> winner; map<string,map<int,int>> penaltytmp; map<string,set<int>> done; map<string,int> topiccount; map<string,int> penaltycount; set<string> teamlist; int n; cin >> n; int time,topic; string team,result; for(int i = 0;i<n;i++){ cin >> time; cin >> team; cin >> topic; cin >> result; teamlist.insert(team); if(done[team].find(topic)!=done[team].end()) continue; //already done not do anything else{ penaltytmp[team][topic] += time; if(result == "T"){ done[team].insert(topic); topiccount[team]++; penaltycount[team]+= penaltytmp[team][topic]; } } } int size = teamlist.size(); //cout << size << "adas"; for(auto e : teamlist){ winner[topiccount[e]][penaltycount[e]].insert(e); } auto itr = winner.end(); itr--; int countend=0; while(true){ for(auto e: (*itr).second){ for(auto f : e.second){ cout << f<< " "<<(*itr).first<<" " <<e.first << endl; countend++; if(countend>=size) break; } if(countend>=3) break; if(countend>=size) break; } if(countend>=3) break; if(countend>=size) break; itr--; } } | # 0120, 2024-11-02 11:22:34, P---PPPPPPP-PPPP----- (57%) #include<bits/stdc++.h> using namespace std; int main(){ map<int,map<int,set<string>>> winner; map<string,map<int,int>> penaltytmp; map<string,set<int>> done; map<string,int> topiccount; map<string,int> penaltycount; set<string> teamlist; int n; cin >> n; int time,topic; string team,result; for(int i = 0;i<n;i++){ cin >> time; cin >> team; cin >> topic; cin >> result; teamlist.insert(team); if(done[team].find(topic)!=done[team].end()) continue; //already done not do anything else{ penaltytmp[team][topic] += time; if(result == "T"){ done[team].insert(topic); topiccount[team]++; penaltycount[team]+= penaltytmp[team][topic]; } } } int size = teamlist.size(); //cout << size << "adas"; for(auto e : teamlist){ winner[topiccount[e]][penaltycount[e]].insert(e); } auto itr = winner.end(); itr--; int countend=0; while(true){ for(auto e: (*itr).second){ for(auto f : e.second){ if((*itr).first==0) break; cout << f<< " "<<(*itr).first<<" " <<e.first << endl; countend++; if(countend>=size) break; } if(countend>=3) break; if(countend>=size||(*itr).first==0) break; } if(countend>=3) break; if(countend>=size||(*itr).first==0) break; itr--; } } | # 0121, 2024-11-02 11:25:41, PPPPPPPPPPPPPPPPPPPPP (100%) #include<bits/stdc++.h> using namespace std; int main(){ map<int,map<int,set<string>>> winner; map<string,map<int,int>> penaltytmp; map<string,set<int>> done; map<string,int> topiccount; map<string,int> penaltycount; set<string> teamlist; int n; cin >> n; int time,topic; string team,result; for(int i = 0;i<n;i++){ cin >> time; cin >> team; cin >> topic; cin >> result; teamlist.insert(team); if(done[team].find(topic)!=done[team].end()) continue; //already done not do anything else{ if(result == "T"){ done[team].insert(topic); topiccount[team]++; penaltycount[team]+= time + penaltytmp[team][topic]; } else penaltytmp[team][topic] += 20; } } int size = teamlist.size(); //cout << size << "adas"; for(auto e : teamlist){ winner[topiccount[e]][penaltycount[e]].insert(e); } auto itr = winner.end(); itr--; int countend=0; while(true){ for(auto e: (*itr).second){ for(auto f : e.second){ if((*itr).first==0) break; cout << f<< " "<<(*itr).first<<" " <<e.first << endl; countend++; if(countend>=size) break; } if(countend>=3) break; if(countend>=size||(*itr).first==0) break; } if(countend>=3) break; if(countend>=size||(*itr).first==0) break; itr--; } } |
# 0122, 2024-11-02 14:48:13, PPPPPPPPPPPPP-P------ (66%) #include <iostream> #include <map> #include <vector> #include <set> #include <map> #include <utility> #include <tuple> #include <cmath> #include <algorithm> #include <cctype> #include <functional> using namespace std; bool cmp(const tuple<string, int, int> &t1, tuple<string, int, int> &t2){ if(get<1>(t1) > get<1>(t2) ) return true; if(get<1>(t1) == get<1>(t2) && get<2>(t1) < get<2>(t2) ) return true; if(get<1>(t1) == get<1>(t2) && get<0>(t1) < get<0>(t2) ) return true; return false; } int main(){ int count; cin >> count; map<string, map< int,pair<int,bool>>> teams; // team { probs{prob {F, Tyet}} , score , penalty} map<string , pair<int,int>> teamsscp; // team { score , pen } while (count--) { int time, prob; string t, res; cin >> time >> t >> prob >> res; // 10 A 1 T //if(teams.count(team) == 0) teams[team] if(res == "F"){ teams[t][prob].first += 1; } else if(res == "T" && teams[t][prob].second == false){ teams[t][prob].second = true; int F = teams[t][prob].first; teamsscp[t].second += F*20+time; teamsscp[t].first += 1; } } vector<tuple<string, int, int>> order; // team score pen for(auto p:teamsscp){ order.push_back(make_tuple(p.first, p.second.first, p.second.second)); } sort(order.begin(), order.end(), cmp); int thre = 1; pair<int, int> prev; for(auto t: order){ if(thre != 4) cout << get<0>(t) << " " << get<1>(t) << " " << get<2>(t) << endl; if((pair<int, int>){get<1>(t), get<2>(t)} == prev) continue; prev = { get<1>(t), get<2>(t)}; thre++; } } | # 0123, 2024-11-02 14:49:28, PPPPPPPPPPPPP-P------ (66%) #include <iostream> #include <map> #include <vector> #include <set> #include <map> #include <utility> #include <tuple> #include <cmath> #include <algorithm> #include <cctype> #include <functional> using namespace std; bool cmp(const tuple<string, int, int> &t1, tuple<string, int, int> &t2){ if(get<1>(t1) > get<1>(t2) ) return true; if(get<1>(t1) == get<1>(t2) && get<2>(t1) < get<2>(t2) ) return true; if(get<1>(t1) == get<1>(t2) && get<0>(t1) < get<0>(t2) ) return true; return false; } int main(){ int count; cin >> count; map<string, map< int,pair<int,bool>>> teams; // team { probs{prob {F, Tyet}} , score , penalty} map<string , pair<int,int>> teamsscp; // team { score , pen } while (count--) { int time, prob; string t, res; cin >> time >> t >> prob >> res; // 10 A 1 T //if(teams.count(team) == 0) teams[team] if(res == "F"){ teams[t][prob].first += 1; } else if(res == "T" && teams[t][prob].second == false){ teams[t][prob].second = true; int F = teams[t][prob].first; teamsscp[t].second += F*20+time; teamsscp[t].first += 1; } } vector<tuple<string, int, int>> order; // team score pen for(auto p:teamsscp){ if(p.second.first != 0)order.push_back(make_tuple(p.first, p.second.first, p.second.second)); } sort(order.begin(), order.end(), cmp); int thre = 1; pair<int, int> prev; for(auto t: order){ if(thre != 4) cout << get<0>(t) << " " << get<1>(t) << " " << get<2>(t) << endl; if((pair<int, int>){get<1>(t), get<2>(t)} == prev) continue; prev = { get<1>(t), get<2>(t)}; thre++; } } | # 0124, 2024-11-02 15:02:46, PPPPPPPP--P------PP-- (52%) #include <iostream> #include <map> #include <vector> #include <set> #include <map> #include <utility> #include <tuple> #include <cmath> #include <algorithm> #include <cctype> #include <functional> using namespace std; bool cmp(const tuple<string, int, int> &t1, tuple<string, int, int> &t2){ if(get<1>(t1) > get<1>(t2) ) return true; if(get<1>(t1) == get<1>(t2) && get<2>(t1) < get<2>(t2) ) return true; if(get<1>(t1) == get<1>(t2) && get<0>(t1) < get<0>(t2) ) return true; return false; } int main(){ int count; cin >> count; map<string, map< int,pair<int,bool>>> teams; // team { probs{prob {F, Tyet}} , score , penalty} map<string , pair<int,int>> teamsscp; // team { score , pen } while (count--) { int time, prob; string t, res; cin >> time >> t >> prob >> res; // 10 A 1 T //if(teams.count(team) == 0) teams[team] if(res == "F"){ teams[t][prob].first += 1; } else if(res == "T" && teams[t][prob].second == false){ teams[t][prob].second = true; int F = teams[t][prob].first; teamsscp[t].second += F*20+time; teamsscp[t].first += 1; } } vector<tuple<string, int, int>> order; // team score pen for(auto p:teamsscp){ if(p.second.first != 0)order.push_back(make_tuple(p.first, p.second.first, p.second.second)); } sort(order.begin(), order.end(), cmp); int thre = 1; pair<int, int> prev; for(auto t: order){ if(thre == 3 && (pair<int, int>){get<1>(t), get<2>(t)} != prev) break; if(thre != 4) cout << get<0>(t) << " " << get<1>(t) << " " << get<2>(t) << endl; if(thre == 3 && (pair<int, int>){get<1>(t), get<2>(t)} == prev) continue; prev = { get<1>(t), get<2>(t)}; thre++; } } | # 0125, 2024-11-02 15:07:34, PPPPPPPPPPPPPPPPPPPPP (100%) #include <iostream> #include <map> #include <vector> #include <set> #include <map> #include <utility> #include <tuple> #include <cmath> #include <algorithm> #include <cctype> #include <functional> using namespace std; bool cmp(const tuple<string, int, int> &t1, tuple<string, int, int> &t2){ if(get<1>(t1) > get<1>(t2) ) return true; if(get<1>(t1) == get<1>(t2) && get<2>(t1) < get<2>(t2) ) return true; if(get<1>(t1) == get<1>(t2) && get<0>(t1) < get<0>(t2) ) return true; return false; } int main(){ int count; cin >> count; map<string, map< int,pair<int,bool>>> teams; // team { probs{prob {F, Tyet}} , score , penalty} map<string , pair<int,int>> teamsscp; // team { score , pen } while (count--) { int time, prob; string t, res; cin >> time >> t >> prob >> res; // 10 A 1 T //if(teams.count(team) == 0) teams[team] if(res == "F"){ teams[t][prob].first += 1; } else if(res == "T" && teams[t][prob].second == false){ teams[t][prob].second = true; int F = teams[t][prob].first; teamsscp[t].second += F*20+time; teamsscp[t].first += 1; } } vector<tuple<string, int, int>> order; // team score pen for(auto p:teamsscp){ if(p.second.first != 0)order.push_back(make_tuple(p.first, p.second.first, p.second.second)); } sort(order.begin(), order.end(), cmp); int thre = 1; pair<int, int> prev; for(auto t: order){ if(thre == 4 && (pair<int, int>){get<1>(t), get<2>(t)} == prev) { cout << get<0>(t) << " " << get<1>(t) << " " << get<2>(t) << endl; continue; } else if(thre == 4 && (pair<int, int>){get<1>(t), get<2>(t)} != prev) break; else if(thre != 4) cout << get<0>(t) << " " << get<1>(t) << " " << get<2>(t) << endl; prev = { get<1>(t), get<2>(t)}; thre++; } } |
# 0126, 2024-11-02 10:51:03, xxxxxxxx--x---------- (0%) #include<bits/stdc++.h> using namespace std; int main() { map<string,int> penalty,wrong,good; int num; map<string,bool> quest; int min; string team,check,q; cin >> num; for(int i = 0;i<num;i++){ cin >> min >> team >> q >> check; if(quest[q + team])continue; else { if(check == "T"){ penalty[team] += min; penalty[team] += wrong[q+team]; quest[q+team] = true; good[team]++; } else wrong[q+team] +=20; } } set<tuple<int,int,string>> ans; for(auto m:good){ ans.insert(make_tuple(m.second,penalty[m.first],m.first)); } auto beg = ans.begin(); cout << get<2>(*beg)<<" " <<get<0>(*beg)<< " "<<get<1>(*beg); beg++; cout << get<2>(*beg)<<" " <<get<0>(*beg)<< " "<<get<1>(*beg); beg++; cout << get<2>(*beg)<<" " <<get<0>(*beg)<< " "<<get<1>(*beg); int now1 = get<0>(*beg),now2 = get<1>(*beg); beg++; int then1 = get<0>(*beg),then2 = get<1>(*beg); while(now1 == then1 && now2 == then2){ cout << get<2>(*beg)<<" " <<get<0>(*beg)<< " "<<get<1>(*beg); now1 = get<0>(*beg),now2 = get<1>(*beg); beg++; then1 = get<0>(*beg),then2 = get<1>(*beg); } } | # 0127, 2024-11-02 10:52:03, xxxxxxxxP-x-PP------- (14%) #include<bits/stdc++.h> using namespace std; int main() { map<string,int> penalty,wrong,good; int num; map<string,bool> quest; int min; string team,check,q; cin >> num; for(int i = 0;i<num;i++){ cin >> min >> team >> q >> check; if(quest[q + team])continue; else { if(check == "T"){ penalty[team] += min; penalty[team] += wrong[q+team]; quest[q+team] = true; good[team]++; } else wrong[q+team] +=20; } } set<tuple<int,int,string>> ans; for(auto m:good){ ans.insert(make_tuple(m.second,penalty[m.first],m.first)); } auto beg = ans.begin(); cout << get<2>(*beg)<<" " <<get<0>(*beg)<< " "<<get<1>(*beg) <<endl; beg++; cout << get<2>(*beg)<<" " <<get<0>(*beg)<< " "<<get<1>(*beg) <<endl; beg++; cout << get<2>(*beg)<<" " <<get<0>(*beg)<< " "<<get<1>(*beg) <<endl; int now1 = get<0>(*beg),now2 = get<1>(*beg); beg++; int then1 = get<0>(*beg),then2 = get<1>(*beg); while(now1 == then1 && now2 == then2){ cout << get<2>(*beg)<<" " <<get<0>(*beg)<< " "<<get<1>(*beg) <<endl; now1 = get<0>(*beg),now2 = get<1>(*beg); beg++; then1 = get<0>(*beg),then2 = get<1>(*beg); } } | # 0128, 2024-11-02 10:55:32, xxxxxxxxPPxPPPPPPPPPP (57%) #include<bits/stdc++.h> using namespace std; int main() { map<string,int> penalty,wrong,good; int num; map<string,bool> quest; int min; string team,check,q; cin >> num; for(int i = 0;i<num;i++){ cin >> min >> team >> q >> check; if(quest[q + team])continue; else { if(check == "T"){ penalty[team] += min; penalty[team] += wrong[q+team]; quest[q+team] = true; good[team]++; } else wrong[q+team] +=20; } } set<tuple<int,int,string>> ans; for(auto m:good){ ans.insert(make_tuple(-m.second,penalty[m.first],m.first)); } auto beg = ans.begin(); cout << (get<2>(*beg))<<" " <<abs(get<0>(*beg))<< " "<<get<1>(*beg) <<endl; beg++; cout << get<2>(*beg)<<" " <<abs(get<0>(*beg))<< " "<<get<1>(*beg) <<endl; beg++; cout << get<2>(*beg)<<" " <<abs(get<0>(*beg))<< " "<<get<1>(*beg) <<endl; int now1 = get<0>(*beg),now2 = get<1>(*beg); beg++; int then1 = get<0>(*beg),then2 = get<1>(*beg); while(now1 == then1 && now2 == then2){ cout << get<2>(*beg)<<" " <<abs(get<0>(*beg))<< " "<<get<1>(*beg) <<endl; now1 = get<0>(*beg),now2 = get<1>(*beg); beg++; then1 = get<0>(*beg),then2 = get<1>(*beg); } } | # 0129, 2024-11-02 10:58:44, PPPPPPPPPPPPPPPPPPPPP (100%) #include<bits/stdc++.h> using namespace std; int main() { map<string,int> penalty,wrong,good; int num; map<string,bool> quest; int min; string team,check,q; cin >> num; for(int i = 0;i<num;i++){ cin >> min >> team >> q >> check; if(quest[q + team])continue; else { if(check == "T"){ penalty[team] += min; penalty[team] += wrong[q+team]; quest[q+team] = true; good[team]++; } else wrong[q+team] +=20; } } set<tuple<int,int,string>> ans; for(auto m:good){ ans.insert(make_tuple(-m.second,penalty[m.first],m.first)); } auto beg = ans.begin(); cout << (get<2>(*beg))<<" " <<abs(get<0>(*beg))<< " "<<get<1>(*beg) <<endl; beg++; if(get<0>(*beg) == 0)return 0; cout << get<2>(*beg)<<" " <<abs(get<0>(*beg))<< " "<<get<1>(*beg) <<endl; beg++; if(get<0>(*beg) == 0)return 0; cout << get<2>(*beg)<<" " <<abs(get<0>(*beg))<< " "<<get<1>(*beg) <<endl; int now1 = get<0>(*beg),now2 = get<1>(*beg); beg++; if(get<0>(*beg) == 0)return 0; int then1 = get<0>(*beg),then2 = get<1>(*beg); while(now1 == then1 && now2 == then2){ cout << get<2>(*beg)<<" " <<abs(get<0>(*beg))<< " "<<get<1>(*beg) <<endl; now1 = get<0>(*beg),now2 = get<1>(*beg); beg++; if(get<0>(*beg) == 0)return 0; then1 = get<0>(*beg),then2 = get<1>(*beg); } } |
# 0130, 2024-11-02 10:57:58, PP------------------- (9%) #include<bits/stdc++.h> using namespace std; int main(){ int n; cin>>n; map<string,int>time; map<string,set<int>>q; map<string,int>corrected; for(int i=0;i<n;i++){ int min,question; string team,correct; cin>>min>>team>>question>>correct; if(q[team].find(question)==q[team].end()){ if(correct=="F"){ time[team]+=20; }else{ time[team]+=min; q[team].insert(question); corrected[team]=-(q[team].size()); } } int out=0; int ctime=0; for(auto&p:corrected){ if(out!=3){ cout<<p.first<<" "<<-(p.second)<<" "<<time[p.first]<<endl; out++; ctime=time[p.first]; }else{ if(time[p.first]!=ctime)break; else{ cout<<p.first<<" "<<-(p.second)<<" "<<time[p.first]<<endl; } } } } } | # 0131, 2024-11-02 11:21:03, PPPP-P---P----------- (28%) #include<bits/stdc++.h> using namespace std; int main(){ int n; cin>>n; map<string,int>time; map<string,set<int>>q; map<string,int>corrected; map<string,vector<int>>attempt; for(int i=0;i<n;i++){ int min,question; string team,correct; cin>>min>>team>>question>>correct; if(q[team].find(question)==q[team].end()){ attempt[team].push_back(question); if(correct=="F"){ time[team]+=20; }else{ time[team]+=min; q[team].insert(question); corrected[team]-=1; } } } for(auto &p:attempt){ for(auto &i:p.second){ if(q[p.first].find(i)==q[p.first].end())time[p.first]-=20; } } int out=0; int ctime=0; for(auto&p:corrected){ if(out!=3){ cout<<p.first<<" "<<-(p.second)<<" "<<time[p.first]<<endl; out++; ctime=time[p.first]; }else{ if(time[p.first]!=ctime)break; else{ cout<<p.first<<" "<<-(p.second)<<" "<<time[p.first]<<endl; } } } } | # 0132, 2024-11-02 11:36:10, PPPPPPPPPPPPPPPPPPPPP (100%) #include<bits/stdc++.h> using namespace std; bool srt(tuple<int,int,string> &a,tuple<int,int,string> &b){ if(get<0>(a)!=get<0>(b))return get<0>(a)>get<0>(b); else if(get<0>(a)==get<0>(b)&&get<1>(a)!=get<1>(b))return get<1>(a)<get<1>(b); else return get<2>(a)<get<2>(b); } int main(){ int n; cin>>n; map<string,int>time; map<string,set<int>>q; map<string,int>corrected; map<string,vector<int>>attempt; set<string>name; for(int i=0;i<n;i++){ int min,question; string team,correct; cin>>min>>team>>question>>correct; name.insert(team); if(q[team].find(question)==q[team].end()){ attempt[team].push_back(question); if(correct=="F"){ time[team]+=20; }else{ time[team]+=min; q[team].insert(question); corrected[team]+=1; } } } for(auto &p:attempt){ for(auto &i:p.second){ if(q[p.first].find(i)==q[p.first].end())time[p.first]-=20; } } vector<tuple<int,int,string>> ans; for(auto &s:name){ ans.push_back(make_tuple(corrected[s],time[s],s)); } sort(ans.begin(),ans.end(),srt); int out=0; int ctime=0; for(auto&t:ans){ if(get<0>(t)==0)break; else{ if(out!=3){ cout<<get<2>(t)<<" "<<get<0>(t)<<" "<<get<1>(t)<<endl; out++; ctime=get<1>(t); }else{ if(ctime!=get<1>(t))break; else{ cout<<get<2>(t)<<" "<<get<0>(t)<<" "<<get<1>(t)<<endl; } } } } } |
# 0133, 2024-11-02 14:30:47, --------------------- (0%) #include <iostream> #include <unordered_map> #include <vector> #include <algorithm> class Problem { int attemps; bool correct; int correct_time; public: Problem() : attemps(0), correct(false), correct_time(0) {} void add(int time, bool correct) { if (this->correct) return; if (correct) { this->correct = true; this->correct_time = time; } else attemps++; } int get_penalty() const { return correct * (correct_time + (attemps * 20)); } bool is_correct() const { return correct; } }; class GraderForTeam { std::unordered_map<int, Problem> problems; public: void add(int time, int problem, int correct) { problems[problem].add(time, correct); } int get_score() const { int score = 0; for (const auto &[_, problem] : problems) { score += problem.is_correct(); } return score; } int get_penalty() const { int penalty = 0; for (const auto &[_, problem] : problems) { penalty += problem.get_penalty(); } return penalty; } bool operator<(const GraderForTeam &other) const { return (get_score() == other.get_score()) ? get_penalty() < other.get_penalty() : get_score() > other.get_score(); } bool operator==(const GraderForTeam &other) const { return (get_score() == other.get_score()) && (get_penalty() == other.get_penalty()); } }; int main() { int n; std::unordered_map<std::string, GraderForTeam> teams; std::cin >> n; for (int i = 0; i < n; ++i) { int time, problem; std::string team; char correct; std::cin >> time >> team >> problem >> correct; teams[team].add(time, problem, correct == 'T'); } std::vector<std::pair<std::string, GraderForTeam>> ordered_team(teams.begin(), teams.end()); std::sort(ordered_team.begin(), ordered_team.end(), [](const std::pair<std::string, GraderForTeam> &a, const std::pair<std::string, GraderForTeam> &b) { return (a.second == b.second) ? a.first < b.first : a.second < b.second; }); int printed_team = 0; GraderForTeam last_printed_team; for (const auto &[team_name, team] : ordered_team) { if (printed_team >= 3 && !(team == last_printed_team)) break; std::cout << team_name << ": " << team.get_score() << " " << team.get_penalty() << "\n"; last_printed_team = team; printed_team++; } } | # 0134, 2024-11-02 14:33:05, --------------------- (0%) #include <iostream> #include <unordered_map> #include <vector> #include <algorithm> class Problem { int attemps; bool correct; int correct_time; public: Problem() : attemps(0), correct(false), correct_time(0) {} void add(int time, bool correct) { if (this->correct) return; if (correct) { this->correct = true; this->correct_time = time; } else attemps++; } int get_penalty() const { return correct * (correct_time + (attemps * 20)); } bool is_correct() const { return correct; } }; class GraderForTeam { std::unordered_map<int, Problem> problems; public: void add(int time, int problem, int correct) { problems[problem].add(time, correct); } int get_score() const { int score = 0; for (const auto &[_, problem] : problems) { score += problem.is_correct(); } return score; } int get_penalty() const { int penalty = 0; for (const auto &[_, problem] : problems) { penalty += problem.get_penalty(); } return penalty; } bool operator<(const GraderForTeam &other) const { return (get_score() == other.get_score()) ? get_penalty() < other.get_penalty() : get_score() > other.get_score(); } bool operator==(const GraderForTeam &other) const { return (get_score() == other.get_score()) && (get_penalty() == other.get_penalty()); } }; int main() { int n; std::unordered_map<std::string, GraderForTeam> teams; std::cin >> n; for (int i = 0; i < n; ++i) { int time, problem; std::string team; char correct; std::cin >> time >> team >> problem >> correct; teams[team].add(time, problem, correct == 'T'); } std::vector<std::pair<std::string, GraderForTeam>> ordered_team(teams.begin(), teams.end()); std::sort(ordered_team.begin(), ordered_team.end(), [](const std::pair<std::string, GraderForTeam> &a, const std::pair<std::string, GraderForTeam> &b) { return (a.second == b.second) ? a.first < b.first : a.second < b.second; }); int printed_team = 0; GraderForTeam last_printed_team; for (const auto &[team_name, team] : ordered_team) { if (printed_team >= 3 && !(team == last_printed_team) || team.get_score() == 0) break; std::cout << team_name << ": " << team.get_score() << " " << team.get_penalty() << "\n"; last_printed_team = team; printed_team++; } } | # 0135, 2024-11-02 14:34:07, PPPPPPPPPPPPPPPPPPPPP (100%) #include <iostream> #include <unordered_map> #include <vector> #include <algorithm> class Problem { int attemps; bool correct; int correct_time; public: Problem() : attemps(0), correct(false), correct_time(0) {} void add(int time, bool correct) { if (this->correct) return; if (correct) { this->correct = true; this->correct_time = time; } else attemps++; } int get_penalty() const { return correct * (correct_time + (attemps * 20)); } bool is_correct() const { return correct; } }; class GraderForTeam { std::unordered_map<int, Problem> problems; public: void add(int time, int problem, int correct) { problems[problem].add(time, correct); } int get_score() const { int score = 0; for (const auto &[_, problem] : problems) { score += problem.is_correct(); } return score; } int get_penalty() const { int penalty = 0; for (const auto &[_, problem] : problems) { penalty += problem.get_penalty(); } return penalty; } bool operator<(const GraderForTeam &other) const { return (get_score() == other.get_score()) ? get_penalty() < other.get_penalty() : get_score() > other.get_score(); } bool operator==(const GraderForTeam &other) const { return (get_score() == other.get_score()) && (get_penalty() == other.get_penalty()); } }; int main() { int n; std::unordered_map<std::string, GraderForTeam> teams; std::cin >> n; for (int i = 0; i < n; ++i) { int time, problem; std::string team; char correct; std::cin >> time >> team >> problem >> correct; teams[team].add(time, problem, correct == 'T'); } std::vector<std::pair<std::string, GraderForTeam>> ordered_team(teams.begin(), teams.end()); std::sort(ordered_team.begin(), ordered_team.end(), [](const std::pair<std::string, GraderForTeam> &a, const std::pair<std::string, GraderForTeam> &b) { return (a.second == b.second) ? a.first < b.first : a.second < b.second; }); int printed_team = 0; GraderForTeam last_printed_team; for (const auto &[team_name, team] : ordered_team) { if (printed_team >= 3 && !(team == last_printed_team) || team.get_score() == 0) break; std::cout << team_name << " " << team.get_score() << " " << team.get_penalty() << "\n"; last_printed_team = team; printed_team++; } } |
# 0136, 2024-11-02 11:25:24, PPPP-P---P----------- (28%) #include<bits/stdc++.h> using namespace std; int main(){ map<string, pair<set<int>, int>> team; map<string, map<int, bool>> corr; map<string, map<int, int>> pen; int n; cin>>n; vector< tuple<pair<int, string>, int, string> > submis; while(n--){ int m, id; string pp, ch; cin>>m>>pp>>id>>ch; if(ch == "T"){ team[pp].first.insert(id); } team[pp].second = 0; pen[pp][id] = 0; corr[pp][id] = false; tuple<pair<int, string>, int, string> asd = {make_pair(m, pp), id, ch}; submis.push_back(asd); } for(auto &sd:submis){ int m, id; string pp, ch; m = get<0>(sd).first; id = get<1>(sd); pp = get<0>(sd).second; ch = get<2>(sd); if(ch == "T"){ if(!corr[pp][id]){ team[pp].second += m + pen[pp][id]; } corr[pp][id] = true; } else if(ch == "F"){ pen[pp][id] += 20; } } if(team.size() < 3){ for(auto &s:team){ cout<< s.first<<' '<<s.second.first.size()<<' '<<s.second.second <<endl; } } else{ int i =0; for(auto &s:team){ if(i == 3) break; cout<< s.first<<' '<<s.second.first.size()<<' '<<s.second.second <<endl; i++; } } /* 12 10 A 1 T 23 A 3 F 30 A 3 F 45 A 2 F 60 B 2 T 65 A 3 T 84 B 1 T 115 B 4 T 120 A 4 T 125 B 4 F 125 B 4 T 125 A 4 F */ return 0; } | # 0137, 2024-11-02 11:45:34, -xx-----PP-PPPPPPPPPP (57%) #include<bits/stdc++.h> using namespace std; int main(){ map<string, pair<set<int>, int>> team; map<string, map<int, bool>> corr; map<string, map<int, int>> pen; int n; cin>>n; vector< tuple<pair<int, string>, int, string> > submis; while(n--){ int m, id; string pp, ch; cin>>m>>pp>>id>>ch; if(ch == "T"){ team[pp].first.insert(id); } team[pp].second = 0; pen[pp][id] = 0; corr[pp][id] = false; tuple<pair<int, string>, int, string> asd = {make_pair(m, pp), id, ch}; submis.push_back(asd); } for(auto &sd:submis){ int m, id; string pp, ch; m = get<0>(sd).first; id = get<1>(sd); pp = get<0>(sd).second; ch = get<2>(sd); if(ch == "T"){ if(!corr[pp][id]){ team[pp].second += m + pen[pp][id]; } corr[pp][id] = true; } else if(ch == "F"){ pen[pp][id] += 20; } } /*if(team.size() < 3){ for(auto &s:team){ cout<< s.first<<' '<<s.second.first.size()<<' '<<s.second.second <<endl; } } else{ int i =0; for(auto &s:team){ if(i == 3) break; cout<< s.first<<' '<<s.second.first.size()<<' '<<s.second.second <<endl; i++; } }*/ vector<tuple<string, int, int>> ans; //cout<<endl<<endl; for(auto &s:team){ //cout<< s.first<<' '<<s.second.first.size()<<' '<<s.second.second <<endl; ans.push_back(make_tuple(s.first, s.second.first.size(), s.second.second)); } sort(ans.begin(), ans.end(), [](const tuple<string, int, int> &a, const tuple<string, int, int> &b){ return get<0>(a) < get<0>(b); }); sort(ans.begin(), ans.end(), [](const tuple<string, int, int> &a, const tuple<string, int, int> &b){ return get<2>(a) < get<2>(b); }); sort(ans.begin(), ans.end(), [](const tuple<string, int, int> &a, const tuple<string, int, int> &b){ return get<1>(a) > get<1>(b); }); for(int i=0;i<3;i++){ cout<<get<0>(ans[i])<<' '<<get<1>(ans[i])<<' '<<get<2>(ans[i])<<endl; } for(int i=3;i<ans.size();i++){ if(get<1>(ans[i]) == get<1>(ans[2]) && get<2>(ans[i]) == get<2>(ans[2])){ cout<<get<0>(ans[i])<<' '<<get<1>(ans[i])<<' '<<get<2>(ans[i])<<endl; } } /* 9 8 Nattee 1 F 10 Nattee 1 T 12 Somchai 7 T 13 Jessada 2 F 15 Chate 1 T 20 Kamonluk 2 T 35 Chate 7 F 45 Chate 7 T 50 Somchai 2 T */ /* 12 10 A 1 T 23 A 3 F 30 A 3 F 45 A 2 F 60 B 2 T 65 A 3 T 84 B 1 T 115 B 4 T 120 A 4 T 125 B 4 F 125 B 4 T 125 A 4 F */ return 0; } | # 0138, 2024-11-02 11:49:43, PPPPPPPPPPPPPPPPPPPPP (100%) #include<bits/stdc++.h> using namespace std; int main(){ map<string, pair<set<int>, int>> team; map<string, map<int, bool>> corr; map<string, map<int, int>> pen; int n; cin>>n; vector< tuple<pair<int, string>, int, string> > submis; while(n--){ int m, id; string pp, ch; cin>>m>>pp>>id>>ch; if(ch == "T"){ team[pp].first.insert(id); } team[pp].second = 0; pen[pp][id] = 0; corr[pp][id] = false; tuple<pair<int, string>, int, string> asd = {make_pair(m, pp), id, ch}; submis.push_back(asd); } for(auto &sd:submis){ int m, id; string pp, ch; m = get<0>(sd).first; id = get<1>(sd); pp = get<0>(sd).second; ch = get<2>(sd); if(ch == "T"){ if(!corr[pp][id]){ team[pp].second += m + pen[pp][id]; } corr[pp][id] = true; } else if(ch == "F"){ pen[pp][id] += 20; } } /*if(team.size() < 3){ for(auto &s:team){ cout<< s.first<<' '<<s.second.first.size()<<' '<<s.second.second <<endl; } } else{ int i =0; for(auto &s:team){ if(i == 3) break; cout<< s.first<<' '<<s.second.first.size()<<' '<<s.second.second <<endl; i++; } }*/ vector<tuple<string, int, int>> ans; //cout<<endl<<endl; for(auto &s:team){ //cout<< s.first<<' '<<s.second.first.size()<<' '<<s.second.second <<endl; ans.push_back(make_tuple(s.first, s.second.first.size(), s.second.second)); } sort(ans.begin(), ans.end(), [](const tuple<string, int, int> &a, const tuple<string, int, int> &b){ return get<0>(a) < get<0>(b); }); sort(ans.begin(), ans.end(), [](const tuple<string, int, int> &a, const tuple<string, int, int> &b){ return get<2>(a) < get<2>(b); }); sort(ans.begin(), ans.end(), [](const tuple<string, int, int> &a, const tuple<string, int, int> &b){ return get<1>(a) > get<1>(b); }); if(ans.size() <= 3){ for(auto &s:ans){ if(get<1>(s) != 0) cout<<get<0>(s)<<' '<<get<1>(s)<<' '<<get<2>(s)<<endl; } } else{ for(int i=0;i<3;i++){ if(get<1>(ans[i]) != 0) cout<<get<0>(ans[i])<<' '<<get<1>(ans[i])<<' '<<get<2>(ans[i])<<endl; } for(int i=3;i<ans.size();i++){ if(get<1>(ans[i]) == get<1>(ans[2]) && get<2>(ans[i]) == get<2>(ans[2])){ if(get<1>(ans[i]) != 0) cout<<get<0>(ans[i])<<' '<<get<1>(ans[i])<<' '<<get<2>(ans[i])<<endl; } } } /* 9 8 Nattee 1 F 10 Nattee 1 T 12 Somchai 7 T 13 Jessada 2 F 15 Chate 1 T 20 Kamonluk 2 T 35 Chate 7 F 45 Chate 7 T 50 Somchai 2 T */ /* 12 10 A 1 T 23 A 3 F 30 A 3 F 45 A 2 F 60 B 2 T 65 A 3 T 84 B 1 T 115 B 4 T 120 A 4 T 125 B 4 F 125 B 4 T 125 A 4 F */ return 0; } |
# 0139, 2024-11-02 11:23:06, P---PPPPPP--PPPPP---- (57%) #include <iostream> #include <string> #include <vector> #include <map> #include <set> #include <algorithm> #include <cmath> #include <tuple> using namespace std; int main(){ int n; cin >> n; map<string , map<int , bool>> info; map<string , int> penalty; map<string , map<int , bool>> FirstWrong; map<string , int> count; for(int i = 0 ; i < n ; i++){ int time , question; string name; char done; cin >> time >> name >> question >> done; if(done == 'T' && !info[name][question]){ info[name][question] = true; if(penalty.find(name) == penalty.end()){ penalty[name] = time; } else{ penalty[name] = penalty[name] + time; } if(count.find(name) == count.end()){ count[name] = 1; } else if(count.find(name) != count.end()){ count[name]++; } } else if(done == 'F'){ if(info[name].find(question) != info[name].end() && info[name][question]) // Correct Before continue; else if(info[name].find(question) != info[name].end() && !info[name][question]){ // Wrong Again if(penalty.find(name) == penalty.end() && FirstWrong[name][question]){ penalty[name] = 40; FirstWrong[name][question] = false; } else if(penalty.find(name) != penalty.end() && FirstWrong[name][question]){ penalty[name] = penalty[name] + 40; FirstWrong[name][question] =true; } else if(penalty.find(name) != penalty.end() && !FirstWrong[name][question]){ penalty[name] = penalty[name] + 20; } } else if(info[name].find(question) == info[name].end()){ // First Wrong info[name][question] = false; FirstWrong[name][question] = true; } } } vector<tuple<string , int , int>> scoreboard; for(auto x : info){ scoreboard.push_back(make_tuple(x.first , count[x.first] , penalty[x.first])); } sort(scoreboard.begin() , scoreboard.end() , [&](tuple<string , int , int> a , tuple<string , int , int> b){ if(get<1>(a) != get<1>(b)) return get<1>(a) > get<1>(b); else return get<2>(a) < get<2>(b); }); int rank = 1; int cnt = 0 , pnt = 0; for(auto x : scoreboard){ if(rank < 4){ cnt = get<1>(x); pnt = get<2>(x); cout << get<0>(x) << " " << get<1>(x) << " " << get<2>(x) << endl; } else if(rank >= 4 && get<1>(x) == cnt && get<2>(x) == pnt){ cout << get<0>(x) << " " << get<1>(x) << " " << get<2>(x) << endl; } else break; rank++; } return 0; } | # 0140, 2024-11-02 11:28:03, PPPPPPPPPP-PPPPPPPPPP (95%) #include <iostream> #include <string> #include <vector> #include <map> #include <set> #include <algorithm> #include <cmath> #include <tuple> using namespace std; int main(){ int n; cin >> n; map<string , map<int , bool>> info; map<string , int> penalty; map<string , map<int , int>> stack; map<string , int> count; for(int i = 0 ; i < n ; i++){ int time , question; string name; char done; cin >> time >> name >> question >> done; if(done == 'T' && !info[name][question]){ info[name][question] = true; if(penalty.find(name) == penalty.end()){ penalty[name] = time + 20 * (stack[name][question]); } else{ penalty[name] = penalty[name] + time + 20 * (stack[name][question]); } if(count.find(name) == count.end()){ count[name] = 1; } else if(count.find(name) != count.end()){ count[name]++; } } else if(done == 'F'){ if(info[name].find(question) != info[name].end() && info[name][question]) // Correct Before continue; else if(info[name].find(question) != info[name].end() && !info[name][question]){ // Wrong Again stack[name][question]++; } else if(info[name].find(question) == info[name].end()){ // First Wrong info[name][question] = false; stack[name][question] = 1; } } } vector<tuple<string , int , int>> scoreboard; for(auto x : info){ scoreboard.push_back(make_tuple(x.first , count[x.first] , penalty[x.first])); } sort(scoreboard.begin() , scoreboard.end() , [&](tuple<string , int , int> a , tuple<string , int , int> b){ if(get<1>(a) != get<1>(b)) return get<1>(a) > get<1>(b); else return get<2>(a) < get<2>(b); }); int rank = 1; int cnt = 0 , pnt = 0; for(auto x : scoreboard){ if(rank < 4){ cnt = get<1>(x); pnt = get<2>(x); cout << get<0>(x) << " " << get<1>(x) << " " << get<2>(x) << endl; } else if(rank >= 4 && get<1>(x) == cnt && get<2>(x) == pnt){ cout << get<0>(x) << " " << get<1>(x) << " " << get<2>(x) << endl; } else break; rank++; } return 0; } | # 0141, 2024-11-02 11:28:53, PPPPPPPPPPPPPPPPPPPPP (100%) #include <iostream> #include <string> #include <vector> #include <map> #include <set> #include <algorithm> #include <cmath> #include <tuple> using namespace std; int main(){ int n; cin >> n; map<string , map<int , bool>> info; map<string , int> penalty; map<string , map<int , int>> stack; map<string , int> count; for(int i = 0 ; i < n ; i++){ int time , question; string name; char done; cin >> time >> name >> question >> done; if(done == 'T' && !info[name][question]){ info[name][question] = true; if(penalty.find(name) == penalty.end()){ penalty[name] = time + 20 * (stack[name][question]); } else{ penalty[name] = penalty[name] + time + 20 * (stack[name][question]); } if(count.find(name) == count.end()){ count[name] = 1; } else if(count.find(name) != count.end()){ count[name]++; } } else if(done == 'F'){ if(info[name].find(question) != info[name].end() && info[name][question]) // Correct Before continue; else if(info[name].find(question) != info[name].end() && !info[name][question]){ // Wrong Again stack[name][question]++; } else if(info[name].find(question) == info[name].end()){ // First Wrong info[name][question] = false; stack[name][question] = 1; } } } vector<tuple<string , int , int>> scoreboard; for(auto x : info){ scoreboard.push_back(make_tuple(x.first , count[x.first] , penalty[x.first])); } sort(scoreboard.begin() , scoreboard.end() , [&](tuple<string , int , int> a , tuple<string , int , int> b){ if(get<1>(a) != get<1>(b)) return get<1>(a) > get<1>(b); else return get<2>(a) < get<2>(b); }); int rank = 1; int cnt = 0 , pnt = 0; for(auto x : scoreboard){ if(get<1>(x) == 0) break; if(rank < 4){ cnt = get<1>(x); pnt = get<2>(x); cout << get<0>(x) << " " << get<1>(x) << " " << get<2>(x) << endl; } else if(rank >= 4 && get<1>(x) == cnt && get<2>(x) == pnt){ cout << get<0>(x) << " " << get<1>(x) << " " << get<2>(x) << endl; } else break; rank++; } return 0; } |
# 0142, 2024-11-02 14:21:49, PPPPPPPPPP-P-P-PP---- (66%) #include<bits/stdc++.h> using namespace std; typedef long long ll; bool cmp(tuple<ll,ll,string> & a,tuple<ll,ll,string> &b){ if(get<0>(a) == get<0>(b)){ if(get<1>(a) == get<1>(b))return get<2>(a) < get<2>(b); return get<1>(a) < get<1>(b); } return get<0>(a) > get<0>(b); } int main(){ ll n; cin >> n; map<string,map<string,pair<ll,bool>>> ttq; vector<tuple<ll,ll,string>> list; while (n--){ ll minute; string name,result,quiz; cin >> minute >> name >> quiz >> result; if(ttq[name][name+quiz].second == false){ if(result == "T"){ ttq[name][name+quiz].first *=20; ttq[name][name+quiz].first +=minute; ttq[name][name+quiz].second = true; } else{ ttq[name][name+quiz].first++; } } } for(auto &e:ttq){ ll corect = 0,pe = 0; for (auto &i:e.second){ if(i.second.second){ corect++; pe +=i.second.first; } } list.push_back(make_tuple(corect,pe,e.first)); } sort(list.begin(),list.end(),cmp); for (auto &i: list){ cout << get<2>(i) << " " << get<0>(i) << " " << get<1>(i) << endl; } } | # 0143, 2024-11-02 14:23:58, PPPPPPPPPP-PP-P----P- (66%) #include<bits/stdc++.h> using namespace std; typedef long long ll; bool cmp(tuple<ll,ll,string> & a,tuple<ll,ll,string> &b){ if(get<0>(a) == get<0>(b)){ if(get<1>(a) == get<1>(b))return get<2>(a) < get<2>(b); return get<1>(a) < get<1>(b); } return get<0>(a) > get<0>(b); } int main(){ ll n; cin >> n; map<string,map<string,pair<ll,bool>>> ttq; vector<tuple<ll,ll,string>> list; while (n--){ ll minute; string name,result,quiz; cin >> minute >> name >> quiz >> result; if(ttq[name][name+quiz].second == false){ if(result == "T"){ ttq[name][name+quiz].first *=20; ttq[name][name+quiz].first +=minute; ttq[name][name+quiz].second = true; } else{ ttq[name][name+quiz].first++; } } } for(auto &e:ttq){ ll corect = 0,pe = 0; for (auto &i:e.second){ if(i.second.second){ corect++; pe +=i.second.first; } } list.push_back(make_tuple(corect,pe,e.first)); } sort(list.begin(),list.end(),cmp); int m = 3; for (auto &i: list){ cout << get<2>(i) << " " << get<0>(i) << " " << get<1>(i) << endl; m--; if(m == 0)break; } } | # 0144, 2024-11-02 14:32:22, PPPPPPPPPPPPPPPPPPPPP (100%) #include<bits/stdc++.h> using namespace std; typedef long long ll; bool cmp(tuple<ll,ll,string> & a,tuple<ll,ll,string> &b){ if(get<0>(a) == get<0>(b)){ if(get<1>(a) == get<1>(b))return get<2>(a) < get<2>(b); return get<1>(a) < get<1>(b); } return get<0>(a) > get<0>(b); } int main(){ ll n; cin >> n; map<string,map<string,pair<ll,bool>>> ttq; vector<tuple<ll,ll,string>> list; while (n--){ ll minute; string name,result,quiz; cin >> minute >> name >> quiz >> result; if(ttq[name][name+quiz].second == false){ if(result == "T"){ ttq[name][name+quiz].first *=20; ttq[name][name+quiz].first +=minute; ttq[name][name+quiz].second = true; } else{ ttq[name][name+quiz].first++; } } } for(auto &e:ttq){ ll corect = 0,pe = 0; for (auto &i:e.second){ if(i.second.second){ corect++; pe +=i.second.first; } } list.push_back(make_tuple(corect,pe,e.first)); } sort(list.begin(),list.end(),cmp); ll m = 4,pena = -1; ll show = 0; for (auto &i: list){ if(pena != get<1>(i)){ pena = get<1>(i); m--; if(show >= 3)break; if(m == 0)break; } if(get<0>(i)){ cout << get<2>(i) << " " << get<0>(i) << " " << get<1>(i) << endl; show++; } } } |
# 0145, 2024-11-02 14:43:34, PPPP-P---P----------- (28%) #include <bits/stdc++.h> #include <cmath> using namespace std; int main(){ int n,t,no; string team,tf; cin>>n; map<string,int> score,penalty; map<string,map<int,int>> penofF; map<string,vector<int>> corrects; while(n--){ cin>>t>>team>>no>>tf; if(tf=="T"&&find(corrects[team].begin(),corrects[team].end(),no)==corrects[team].end()){ score[team]++; corrects[team].push_back(no); penalty[team]+=t; penalty[team]+=20*penofF[team][no]; } if(tf=="F"){ penofF[team][no]++; } } for(auto e:penalty){ cout<<e.first<<" "<<score[e.first]<<" "<<e.second<<endl; } // cout<<"wrongs\n"; // for(auto e:penofF){ // cout<<e.first<<" | "; // for (auto a:e.second){ // cout<<"NO."<<a.first<<" | "<<a.second<<" "; // } // cout<<endl; // } } | # 0146, 2024-11-02 15:00:09, PPPPP-PPPPP-P-P----P- (61%) #include <bits/stdc++.h> #include <cmath> using namespace std; int main(){ int n,t,no; string team,tf; cin>>n; map<string,int> score,penalty; map<string,map<int,int>> penofF; map<string,vector<int>> corrects; vector<tuple<int,int,string>> result; while(n--){ cin>>t>>team>>no>>tf; if(tf=="T"&&find(corrects[team].begin(),corrects[team].end(),no)==corrects[team].end()){ score[team]++; corrects[team].push_back(no); penalty[team]+=t; penalty[team]+=20*penofF[team][no]; } if(tf=="F"){ penofF[team][no]++; } } for(auto e:penalty){ result.push_back(make_tuple(score[e.first],-e.second,e.first)); } sort(result.begin(),result.end(),greater()); for(int i=0;i<result.size();i++){ auto e=result[i]; if(i>=3){ auto prev = result[i-1]; if (get<0>(prev)==get<0>(e)&&get<1>(prev)==get<1>(e)); else break; } cout<<get<2>(e)<<" "<<get<0>(e)<<" "<<-get<1>(e)<<endl; } // cout<<"wrongs\n"; // for(auto e:penofF){ // cout<<e.first<<" | "; // for (auto a:e.second){ // cout<<"NO."<<a.first<<" | "<<a.second<<" "; // } // cout<<endl; // } } | # 0147, 2024-11-02 15:15:11, PPPPPPPPPPPPPPPPPPPPP (100%) #include <bits/stdc++.h> #include <cmath> using namespace std; int main(){ int n,t,no; string team,tf; cin>>n; map<string,int> score,penalty; map<string,map<int,int>> penofF; map<string,vector<int>> corrects; vector<tuple<int,int,string>> result; while(n--){ cin>>t>>team>>no>>tf; if(tf=="T"&&find(corrects[team].begin(),corrects[team].end(),no)==corrects[team].end()){ score[team]++; corrects[team].push_back(no); penalty[team]+=t; penalty[team]+=20*penofF[team][no]; } if(tf=="F"){ penofF[team][no]++; } } for(auto e:penalty){ result.push_back(make_tuple(score[e.first],e.second,e.first)); } sort(result.begin(),result.end(),[](tuple<int,int,string>a,tuple<int,int,string>b){ if(get<0>(a)==get<0>(b)){ if(get<1>(a)==get<1>(b)){ return get<2>(a)<get<2>(b); } return get<1>(a)<get<1>(b); } return get<0>(a)>get<0>(b); }); for(int i=0;i<result.size();i++){ auto e=result[i]; if(i>=3){ auto prev = result[i-1]; if (get<0>(prev)==get<0>(e)&&get<1>(prev)==get<1>(e)); else break; } cout<<get<2>(e)<<" "<<get<0>(e)<<" "<<get<1>(e)<<endl; } // cout<<"wrongs\n"; // for(auto e:penofF){ // cout<<e.first<<" | "; // for (auto a:e.second){ // cout<<"NO."<<a.first<<" | "<<a.second<<" "; // } // cout<<endl; // } } |
# 0148, 2024-11-02 14:44:26, -xx-P-PPPP--P-P----P- (38%) #include<bits/stdc++.h> using namespace std; int main() { int n; cin >> n; map<string,int> Score,Time,Pen; map<string,bool> chk;//string = team + kor set<string> team; while(n--) { int ti; char TF; string te,kor; bool tf; cin >> ti >> te >> kor >>TF; team.insert(te); if(TF=='T') tf =1; else if(TF == 'F') tf =0; string status = te + kor; // cout << chk[status] <<"\n"; if(!chk[status]) { if(tf){Time[te] += ti+Pen[status]; chk[status] =1; Score[te] ++;} else if(!tf) {Pen[status] += 20;} } } vector<pair<pair<int,int>,string>> v; for(auto st: team) v.push_back({{Score[st],Time[st]},st}); sort(v.begin(),v.end(),greater<pair<pair<int,int>,string>> ()); cout << "\n"; for(int i=0;i<v.size();i++) { for(int j=i+1;j<v.size();j++) { if(v[i].first.first == v[j].first.first && v[j].first.second<v[i].first.second) swap(v[i],v[j]); } } for(int i=0;i<2;i++) { cout << v[i].second << " " << v[i].first.first << " "<< v[i].first.second <<"\n"; } for(int i=2;i<v.size();i++) { if(v[i].first.first == v[2].first.first && v[i].first.second == v[2].first.second)cout << v[i].second << " " << v[i].first.first << " "<< v[i].first.second <<"\n"; } } | # 0149, 2024-11-02 14:48:33, PPPPP-PPPPP-P-P----P- (61%) #include<bits/stdc++.h> using namespace std; int main() { int n; cin >> n; map<string,int> Score,Time,Pen; map<string,bool> chk;//string = team + kor set<string> team; while(n--) { int ti; char TF; string te,kor; bool tf; cin >> ti >> te >> kor >>TF; team.insert(te); if(TF=='T') tf =1; else if(TF == 'F') tf =0; string status = te + kor; // cout << chk[status] <<"\n"; if(!chk[status]) { if(tf){Time[te] += ti+Pen[status]; chk[status] =1; Score[te] ++;} else if(!tf) {Pen[status] += 20;} } } vector<pair<pair<int,int>,string>> v; for(auto st: team) {if(Score[st]!=0){v.push_back({{Score[st],Time[st]},st});}} sort(v.begin(),v.end(),greater<pair<pair<int,int>,string>> ()); cout << "\n"; for(int i=0;i<v.size();i++) { for(int j=i+1;j<v.size();j++) { if(v[i].first.first == v[j].first.first && v[j].first.second<v[i].first.second) swap(v[i],v[j]); } } if(v.size()>=2) { for(int i=0;i<2;i++) { cout << v[i].second << " " << v[i].first.first << " "<< v[i].first.second <<"\n"; } for(int i=2;i<v.size();i++) { if(v[i].first.first == v[2].first.first && v[i].first.second == v[2].first.second)cout << v[i].second << " " << v[i].first.first << " "<< v[i].first.second <<"\n"; } } else cout << v[0].second << " " << v[0].first.first << " "<< v[0].first.second <<"\n"; } | # 0150, 2024-11-02 14:51:10, PPPPPPPPPPPPPPPPPPPPP (100%) #include<bits/stdc++.h> using namespace std; int main() { int n; cin >> n; map<string,int> Score,Time,Pen; map<string,bool> chk;//string = team + kor set<string> team; while(n--) { int ti; char TF; string te,kor; bool tf; cin >> ti >> te >> kor >>TF; team.insert(te); if(TF=='T') tf =1; else if(TF == 'F') tf =0; string status = te + kor; // cout << chk[status] <<"\n"; if(!chk[status]) { if(tf){Time[te] += ti+Pen[status]; chk[status] =1; Score[te] ++;} else if(!tf) {Pen[status] += 20;} } } vector<pair<pair<int,int>,string>> v; for(auto st: team) {if(Score[st]!=0){v.push_back({{Score[st],Time[st]},st});}} sort(v.begin(),v.end(),greater<pair<pair<int,int>,string>> ()); cout << "\n"; for(int i=0;i<v.size();i++) { for(int j=i+1;j<v.size();j++) { if(v[i].first.first == v[j].first.first && v[j].first.second == v[i].first.second) { if(v[i].second > v[j].second) swap(v[i],v[j]); } if(v[i].first.first == v[j].first.first && v[j].first.second<v[i].first.second) swap(v[i],v[j]); } } if(v.size()>=2) { for(int i=0;i<2;i++) { cout << v[i].second << " " << v[i].first.first << " "<< v[i].first.second <<"\n"; } for(int i=2;i<v.size();i++) { if(v[i].first.first == v[2].first.first && v[i].first.second == v[2].first.second)cout << v[i].second << " " << v[i].first.first << " "<< v[i].first.second <<"\n"; } } else cout << v[0].second << " " << v[0].first.first << " "<< v[0].first.second <<"\n"; } |
# 0151, 2024-11-02 11:14:29, PPPPPPPPPPPPPPPPPPPPP (100%) #include<bits/stdc++.h> using namespace std; int main(){ int i,j=0,n,previouspen,time,count=0,number; string name,check; map<string,unordered_set<int>> totalpass; //key is the team name. value is the set of the problems they've solved. map<string,int> totalpen; //key is the team name. value is the total penalty they have. map<string,map<int,int>> totalfail; //key is the team name. value is a map, the key is the problem they've failed, the key is the amount of times they've failed. cin >> n; for(i=0;i<n;i++){ cin >> time >> name >> number >> check; if(totalpass.find(name)==totalpass.end()){ totalpass[name]={}; } if(totalpen.find(name)==totalpen.end()){ totalpen[name]=0; } if(totalfail.find(name)==totalfail.end()){ totalfail[name]={}; } if(check=="T"){ //they passed. if(totalpass[name].find(number)==totalpass[name].end()){// this is the first time they passed. totalpass[name].insert(number); totalpen[name]+=time+((totalfail[name])[number])*20; } //do nothing if they passed the second time } if(check=="F"){ //they failed. if(totalpass[name].find(number)==totalpass[name].end()){ //failed, never passed before. (totalfail[name])[number]++; } else{ // failed, but they've passed before. //do nothing. Also, how did they failed? } } } //this is where the things get seriously annoying. vector<tuple<string,int,int>> v; //a vector of 3-ordered item, the first value is team name, the second value is the amount of the problems they've passed, the third value is their penalty. map<string,unordered_set<int>>::iterator it; set<int> s; // a set of amount of the problem each team've solved; for(it=totalpass.begin();it!=totalpass.end();it++){ if(((*it).second).size()!=0){ v.push_back({(*it).first,((*it).second).size(),totalpen[(*it).first]}); s.insert(((*it).second).size()); } } sort(v.begin(),v.end(),[](const tuple<string,int,int> &a, const tuple<string,int,int> &b){ if(get<1>(a)!=get<1>(b)){ return get<1>(a) > get<1>(b); } if(get<2>(a)!=get<2>(b)){ return get<2>(a) < get<2>(b); } return get<0>(a) < get<0>(b); }); set<int>::iterator it2=(--s.end()); previouspen=get<2>(v[0]); while(count<3&&count<v.size()){ for(i=j;i<v.size();i++){ if(get<1>(v[i])==*it2&&previouspen==get<2>(v[i])){ cout << get<0>(v[i]) << " " << get<1>(v[i]) << " " << get<2>(v[i]) << endl; previouspen=get<2>(v[i]); count++; j++; } else{ if(get<1>(v[i])<*it2){ previouspen=get<2>(v[i]); it2--; break; } if(get<1>(v[i])==*it2){ previouspen=get<2>(v[i]); break; } } } } } | # 0152, 2024-11-02 11:46:36, PPPPPPPPPPPPPPPPPPPPP (100%) #include<bits/stdc++.h> using namespace std; int main(){ int i,j=0,n,previouspen,time,count=0,number; string name,check; map<string,unordered_set<int>> totalpass; //key is the team name. value is the set of the problems they've solved. map<string,int> totalpen; //key is the team name. value is the total penalty they have. map<string,unordered_map<int,int>> totalfail; //key is the team name. value is a map, the key is the problem they've failed, the key is the amount of times they've failed. cin >> n; for(i=0;i<n;i++){ cin >> time >> name >> number >> check; if(totalpass.find(name)==totalpass.end()){ totalpass[name]={}; } if(totalpen.find(name)==totalpen.end()){ totalpen[name]=0; } if(totalfail.find(name)==totalfail.end()){ totalfail[name]={}; } if(check=="T"){ //they passed. if(totalpass[name].find(number)==totalpass[name].end()){// this is the first time they passed. totalpass[name].insert(number); totalpen[name]+=time+((totalfail[name])[number])*20; } //do nothing if they passed the second time } if(check=="F"){ //they failed. if(totalpass[name].find(number)==totalpass[name].end()){ //failed, never passed before. (totalfail[name])[number]++; } else{ // failed, but they've passed before. //do nothing. Also, how did they failed? } } } //this is where things get seriously annoying. vector<tuple<string,int,int>> v; //a vector of 3-ordered item, the first value is team name, the second value is the amount of the problems they've passed, the third value is their penalty. map<string,unordered_set<int>>::iterator it; set<int> s; // a set of amount of the problem each team've solved; for(it=totalpass.begin();it!=totalpass.end();it++){ if(((*it).second).size()!=0){ v.push_back({(*it).first,((*it).second).size(),totalpen[(*it).first]}); s.insert(((*it).second).size()); } } sort(v.begin(),v.end(),[](const tuple<string,int,int> &a, const tuple<string,int,int> &b){ if(get<1>(a)!=get<1>(b)){ return get<1>(a) > get<1>(b); } if(get<2>(a)!=get<2>(b)){ return get<2>(a) < get<2>(b); } return get<0>(a) < get<0>(b); }); set<int>::iterator it2=(--s.end()); previouspen=get<2>(v[0]); while(count<3&&count<v.size()){ for(i=j;i<v.size();i++){ if(get<1>(v[i])==*it2&&previouspen==get<2>(v[i])){ cout << get<0>(v[i]) << " " << get<1>(v[i]) << " " << get<2>(v[i]) << endl; previouspen=get<2>(v[i]); count++; j++; } else{ if(get<1>(v[i])<*it2){ previouspen=get<2>(v[i]); it2--; break; } if(get<1>(v[i])==*it2){ previouspen=get<2>(v[i]); break; } } } } } | # 0153, 2024-11-02 11:47:29, PPPPPPPPPPPPPPPPPPPPP (100%) #include<bits/stdc++.h> using namespace std; int main(){ int i,j=0,n,previouspen,time,count=0,number; string name,check; unordered_map<string,unordered_set<int>> totalpass; //key is the team name. value is the set of the problems they've solved. map<string,int> totalpen; //key is the team name. value is the total penalty they have. unordered_map<string,unordered_map<int,int>> totalfail; //key is the team name. value is a map, the key is the problem they've failed, the key is the amount of times they've failed. cin >> n; for(i=0;i<n;i++){ cin >> time >> name >> number >> check; if(totalpass.find(name)==totalpass.end()){ totalpass[name]={}; } if(totalpen.find(name)==totalpen.end()){ totalpen[name]=0; } if(totalfail.find(name)==totalfail.end()){ totalfail[name]={}; } if(check=="T"){ //they passed. if(totalpass[name].find(number)==totalpass[name].end()){// this is the first time they passed. totalpass[name].insert(number); totalpen[name]+=time+((totalfail[name])[number])*20; } //do nothing if they passed the second time } if(check=="F"){ //they failed. if(totalpass[name].find(number)==totalpass[name].end()){ //failed, never passed before. (totalfail[name])[number]++; } else{ // failed, but they've passed before. //do nothing. Also, how did they failed? } } } //this is where things get seriously annoying. vector<tuple<string,int,int>> v; //a vector of 3-ordered item, the first value is team name, the second value is the amount of the problems they've passed, the third value is their penalty. unordered_map<string,unordered_set<int>>::iterator it; set<int> s; // a set of amount of the problem each team've solved; for(it=totalpass.begin();it!=totalpass.end();it++){ if(((*it).second).size()!=0){ v.push_back({(*it).first,((*it).second).size(),totalpen[(*it).first]}); s.insert(((*it).second).size()); } } sort(v.begin(),v.end(),[](const tuple<string,int,int> &a, const tuple<string,int,int> &b){ if(get<1>(a)!=get<1>(b)){ return get<1>(a) > get<1>(b); } if(get<2>(a)!=get<2>(b)){ return get<2>(a) < get<2>(b); } return get<0>(a) < get<0>(b); }); set<int>::iterator it2=(--s.end()); previouspen=get<2>(v[0]); while(count<3&&count<v.size()){ for(i=j;i<v.size();i++){ if(get<1>(v[i])==*it2&&previouspen==get<2>(v[i])){ cout << get<0>(v[i]) << " " << get<1>(v[i]) << " " << get<2>(v[i]) << endl; previouspen=get<2>(v[i]); count++; j++; } else{ if(get<1>(v[i])<*it2){ previouspen=get<2>(v[i]); it2--; break; } if(get<1>(v[i])==*it2){ previouspen=get<2>(v[i]); break; } } } } } |
# 0154, 2024-11-02 10:37:31, PP-PP-PPPP--P-P----P- (52%) #include<iostream> #include<map> #include<string> #include<set> #include<utility> using namespace std; int main(){ int n = 0; cin >> n; map< string , set<int> > team_doneProblems; map< string , int > team_penalties; map< pair<int , int > , string> topTeams; for(int i = 0 ; i < n ; i++){ int time = 0; string teamName; int problem = 0; char problemStatus; cin >> time >> teamName >> problem >> problemStatus; if( problemStatus == 'T'){ //check if problem is already done if( team_doneProblems[teamName].find(problem) == team_doneProblems[teamName].end() ){ team_doneProblems[teamName].insert(problem); team_penalties[teamName] += time; } }else if ( problemStatus == 'F'){ //check if problem is already done if( team_doneProblems[teamName].find(problem) == team_doneProblems[teamName].end()){ team_penalties[teamName] += 20; } } } //top team map //pair< -completeq , penalties> , teamName> //completeq is negative since we want the most to be the first //penalties is positive auto it = team_penalties.begin(); while ( it != team_penalties.end()){ string teamName = (*it).first; int qNum = team_doneProblems[teamName].size(); int penalties = team_penalties[teamName]; topTeams[ make_pair( -qNum , penalties )] = teamName; it++; } auto itT = topTeams.begin(); int count = 0 ; while( itT != topTeams.end()){ cout << (*itT).second << " " << 0-(*itT).first.first << " " << (*itT).first.second << endl; count++; if( count >= 3){ break; } itT++; } } | # 0155, 2024-11-02 10:44:09, PPPPP-PPPPP-P-P----P- (61%) #include<iostream> #include<map> #include<string> #include<set> #include<utility> using namespace std; int main(){ int n = 0; cin >> n; map< string , set<int> > team_doneProblems; map< string , multiset<int> > team_failProblems; map< string , int > team_penalties; map< pair<int , int > , string> topTeams; for(int i = 0 ; i < n ; i++){ int time = 0; string teamName; int problem = 0; char problemStatus; cin >> time >> teamName >> problem >> problemStatus; if( problemStatus == 'T'){ //check if problem is already done if( team_doneProblems[teamName].find(problem) == team_doneProblems[teamName].end() ){ team_doneProblems[teamName].insert(problem); team_penalties[teamName] += time; } }else if ( problemStatus == 'F'){ //check if problem is already done if( team_doneProblems[teamName].find(problem) == team_doneProblems[teamName].end()){ team_failProblems[teamName].insert(problem); } } } //calculate penalties for failed problems auto itFail = team_failProblems.begin(); while(itFail != team_failProblems.end()){ string teamName = (*itFail).first; for(int i : (*itFail).second){ if( team_doneProblems[teamName].find(i) != team_doneProblems[teamName].end()){ team_penalties[teamName] += 20; } } itFail++; } //top team map //pair< -completeq , penalties> , teamName> //completeq is negative since we want the most to be the first //penalties is positive auto it = team_penalties.begin(); while ( it != team_penalties.end()){ string teamName = (*it).first; int qNum = team_doneProblems[teamName].size(); int penalties = team_penalties[teamName]; topTeams[ make_pair( -qNum , penalties )] = teamName; it++; } auto itT = topTeams.begin(); int count = 0 ; while( itT != topTeams.end()){ cout << (*itT).second << " " << 0-(*itT).first.first << " " << (*itT).first.second << endl; count++; if( count >= 3){ break; } itT++; } } | # 0156, 2024-11-02 10:55:46, PPPPPPPPPPPPPPPPPPPPP (100%) #include<iostream> #include<map> #include<string> #include<set> #include<utility> using namespace std; int main(){ int n = 0; cin >> n; map< string , set<int> > team_doneProblems; map< string , multiset<int> > team_failProblems; map< string , int > team_penalties; map< pair<int , int > , set<string>> topTeams; for(int i = 0 ; i < n ; i++){ int time = 0; string teamName; int problem = 0; char problemStatus; cin >> time >> teamName >> problem >> problemStatus; if( problemStatus == 'T'){ //check if problem is already done if( team_doneProblems[teamName].find(problem) == team_doneProblems[teamName].end() ){ team_doneProblems[teamName].insert(problem); team_penalties[teamName] += time; } }else if ( problemStatus == 'F'){ //check if problem is already done if( team_doneProblems[teamName].find(problem) == team_doneProblems[teamName].end()){ team_failProblems[teamName].insert(problem); } } } //calculate penalties for failed problems auto itFail = team_failProblems.begin(); while(itFail != team_failProblems.end()){ string teamName = (*itFail).first; for(int i : (*itFail).second){ if( team_doneProblems[teamName].find(i) != team_doneProblems[teamName].end()){ team_penalties[teamName] += 20; } } itFail++; } //top team map //pair< -completeq , penalties> , teamName> //completeq is negative since we want the most to be the first //penalties is positive auto it = team_penalties.begin(); while ( it != team_penalties.end()){ string teamName = (*it).first; int qNum = team_doneProblems[teamName].size(); int penalties = team_penalties[teamName]; topTeams[ make_pair( -qNum , penalties )].insert(teamName); it++; } auto itT = topTeams.begin(); int count = 0 ; while( itT != topTeams.end()){ for(string o : (*itT).second){ cout << o << " " << 0-(*itT).first.first << " " << (*itT).first.second << endl; count++; } /* if( itT != topTeams.begin()){ auto itTb = itT; itTb--; if( (*itT).first.first != (*itTb).first.first || (*itT).first.second != (*itTb).first.second ){ count++; } }else{ count++; } */ if( count >= 3){ break; } itT++; } } |
# 0157, 2024-11-02 11:41:06, PP-PPPPPPPPPPPPPPPPP- (90%) #include <bits/stdc++.h> using namespace std ; int main() { int n ; cin >> n ; int time, order ; string name ; char bl ; map<string, pair<int, int>> stat ; map<int, set<string>> cor ; for (int i = 0 ; i < n ; i++) { cin >> time >> name >> order >> bl ; if (cor.find(order) != cor.end() && cor[order].find(name) != cor[order].end()) { continue ;} if (bl == 'T') { cor[order].insert(name) ; if (stat.find(name) != stat.end()) { stat[name].second -= 1 ; stat[name].first += time ; } else stat[name] = {time,-1} ; } else if (bl == 'F') { if (cor.find(order) != cor.end() && cor[order].find(name) != cor[order].end()) {} else { // do if (stat.find(name) != stat.end()) { // found stat[name].first += 20 ; } else stat[name] = {20,0} ; } } } map<int, set<pair<int, string>>> ans ; for (auto a : stat) { ans[a.second.second].insert({a.second.first, a.first}) ; } int j = 0 ; int now = -1 ; for (auto b : ans) { if (b.first == 0) break ; for (pair<int, string> c : b.second) { if (j < 3 || (c.first == now)) { cout << c.second << " " << b.first*(-1) << " " << c.first << "\n" ; now = c.first ; j++ ; } else { now = -1 ; break ;} } } } | # 0158, 2024-11-02 12:09:20, PPPPPPPPPPPPPPPPPPPPP (100%) #include <bits/stdc++.h> using namespace std ; int main() { int n ; cin >> n ; int time, order ; string name ; char bl ; map<string, pair<int, int>> stat ; map<int, set<string>> cor ; map<string, map<int, int>> team_pen ; map<string, set<int>> team_cor ; for (int i = 0 ; i < n ; i++) { cin >> time >> name >> order >> bl ; if (cor.find(order) != cor.end() && cor[order].find(name) != cor[order].end()) { continue ;} if (bl == 'T') { cor[order].insert(name) ; if (stat.find(name) != stat.end()) { stat[name].second -= 1 ; stat[name].first += time ; } else stat[name] = {time,-1} ; team_cor[name].insert(order) ; } else if (bl == 'F') { if (cor.find(order) != cor.end() && cor[order].find(name) != cor[order].end()) {} else { // do if (stat.find(name) != stat.end()) { // found stat[name].first += 20 ; } else stat[name] = {20,0} ; if (team_pen[name].find(order) != team_pen[name].end()) team_pen[name][order] += 1 ; else team_pen[name][order] = 1 ; } } } for (auto a : team_pen) { for (auto a1 : a.second) { if (team_cor[a.first].find(a1.first) == team_cor[a.first].end()) { stat[a.first].first -= 20*a1.second ; } } } map<int, set<pair<int, string>>> ans ; for (auto a : stat) { ans[a.second.second].insert({a.second.first, a.first}) ; } int j = 0 ; int now = -1 ; for (auto b : ans) { if (b.first == 0) break ; for (pair<int, string> c : b.second) { if (j < 3 || (c.first == now)) { cout << c.second << " " << b.first*(-1) << " " << c.first << "\n" ; now = c.first ; j++ ; } else { now = -1 ; break ;} } } } |
# 0159, 2024-11-02 11:36:24, PPPPPPPPPPPPPPPPPPPPP (100%) #include<bits/stdc++.h> using namespace std; int main() { int n; cin >> n; char sr; int mi, prom; string te; set<string> cteam; vector<string> team; vector<int> penal, doit, wrong; vector<pair<string, int>> minite, promble; vector<pair<string, int>> submit; vector<pair<string, char>> sroce; while(n--) { cin >> mi >> te >> prom >> sr; if(cteam.find(te) == cteam.end()) { team.push_back(te); penal.push_back(0); doit.push_back(0); } int it = find(team.begin(), team.end(), te) - team.begin(); if(sr == 'T') { if(find(promble.begin(), promble.end(), make_pair(te, prom)) == promble.end()) { penal[it] += mi; doit[it]++; promble.push_back(make_pair(te, prom)); submit.push_back(make_pair(te, prom)); wrong.push_back(0); } } else { if(find(promble.begin(), promble.end(), make_pair(te, prom)) == promble.end()) { submit.push_back(make_pair(te, prom)); wrong.push_back(20); //cout << prom << endl; } } minite.push_back(make_pair(te, mi)); sroce.push_back(make_pair(te, sr)); //submit.push_back(make_pair(te, prom)); //promble.push_back(make_pair(te, prom)); cteam.insert(te); } int c = 0; for(auto i : submit) { int it = find(team.begin(), team.end(), i.first) - team.begin(); if(find(promble.begin(), promble.end(), make_pair(i.first, i.second)) != promble.end()) { penal[it] += wrong[c]; } c++; } map<string, int> dofor, p; vector<pair<int, string>> manydo, penalty; vector<pair<int, string>> result; for(int i = 0; i < team.size(); i++) { //manydo.push_back(make_pair(doit[i], team[i])); dofor[team[i]] = doit[i]; p[team[i]] = penal[i]; penalty.push_back(make_pair((penal[i] - (doit[i]* 100000)), team[i])); } sort(penalty.begin(), penalty.end()); c = 0; int m ,l; bool t = true; for(auto i : penalty) { if(c >= 3) { t = false; if(dofor[i.second] == m && p[i.second] == n) { cout << i.second << " " <<dofor[i.second] << " "<< p[i.second] << endl; } else break; } if(dofor[i.second] >= 1 && t){ cout << i.second << " " <<dofor[i.second] << " "<< p[i.second] << endl; c++; } m = dofor[i.second]; n = p[i.second]; } return 0; } | # 0160, 2024-11-02 12:10:10, PPPPPPPPPPPPPPPPPPPPP (100%) #include<bits/stdc++.h> using namespace std; int main() { int n; cin >> n; char sr; int mi, prom; string te; set<string> cteam; vector<string> team; vector<int> penal, doit, wrong; vector<pair<string, int>> promble; vector<pair<string, int>> submit; while(n--) { cin >> mi >> te >> prom >> sr; if(cteam.find(te) == cteam.end()) { team.push_back(te); penal.push_back(0); doit.push_back(0); } int it = find(team.begin(), team.end(), te) - team.begin(); if(sr == 'T') { if(find(promble.begin(), promble.end(), make_pair(te, prom)) == promble.end()) { penal[it] += mi; doit[it]++; promble.push_back(make_pair(te, prom)); submit.push_back(make_pair(te, prom)); wrong.push_back(0); } } else { if(find(promble.begin(), promble.end(), make_pair(te, prom)) == promble.end()) { submit.push_back(make_pair(te, prom)); wrong.push_back(20); //cout << prom << endl; } } cteam.insert(te); } int c = 0; for(auto i : submit) { int it = find(team.begin(), team.end(), i.first) - team.begin(); if(find(promble.begin(), promble.end(), make_pair(i.first, i.second)) != promble.end()) { penal[it] += wrong[c]; } c++; } map<string, int> dofor, p; vector<pair<int, string>> penalty; for(int i = 0; i < team.size(); i++) { //manydo.push_back(make_pair(doit[i], team[i])); dofor[team[i]] = doit[i]; p[team[i]] = penal[i]; penalty.push_back(make_pair((penal[i] - (doit[i]* 100000)), team[i])); } sort(penalty.begin(), penalty.end()); c = 0; int m ,l; bool t = true; for(auto i : penalty) { if(c >= 3) { t = false; if(dofor[i.second] == m && p[i.second] == n) { cout << i.second << " " <<dofor[i.second] << " "<< p[i.second] << endl; } else break; } if(dofor[i.second] >= 1 && t){ cout << i.second << " " <<dofor[i.second] << " "<< p[i.second] << endl; c++; } m = dofor[i.second]; n = p[i.second]; } return 0; } |
# 0161, 2024-11-02 14:30:56, PPPPPPPP--PP-----PP-- (57%) #include <iostream> #include <string> #include <vector> #include <utility> #include <cmath> #include <set> #include <map> using namespace std; int main() { int n; map<pair<int,int>,set<string>,greater<pair<int,int>>> place; //point,penalty map<string, int> point; map<string, map<int, int>> penalty; map<string, map<int, bool>> pass; map<string, map<int, int>> beforepass; cin >> n; for (int i = 0; i < n; i++) { int time, question; string team, result; cin >> time >> team >> question >> result; if (pass[team][question] == true) continue; if (result == "T") { penalty[team][question] = time + 20 * beforepass[team][question]; pass[team][question] = true; } if (result == "F") { beforepass[team][question]++; } } for (auto &team : pass) { for (auto &question : team.second) { if(question.second==true) point[team.first] +=1; } } for(auto&team:point){ int p=0; for(auto&question:penalty[team.first]){ p+=question.second; } place[make_pair(team.second,-p)].insert(team.first); } int count =0; for(auto &elem:place){ if(count==2) break; for(auto&team: elem.second){ cout<<team<<" "<<elem.first.first<<" "<<abs(elem.first.second)<<endl; } count++; } } | # 0162, 2024-11-02 14:42:47, PPPPPPPPPPPPPPPPPPPPP (100%) #include <iostream> #include <string> #include <vector> #include <utility> #include <cmath> #include <set> #include <map> using namespace std; int main() { int n; map<pair<int,int>,set<string>,greater<pair<int,int>>> place; //point,penalty map<string, int> point; map<string, map<int, int>> penalty; map<string, map<int, bool>> pass; map<string, map<int, int>> beforepass; cin >> n; for (int i = 0; i < n; i++) { int time, question; string team, result; cin >> time >> team >> question >> result; if (pass[team][question] == true) continue; if (result == "T") { penalty[team][question] = time + 20 * beforepass[team][question]; pass[team][question] = true; } if (result == "F") { beforepass[team][question]++; } } for (auto &team : pass) { for (auto &question : team.second) { if(question.second==true) point[team.first] +=1; } } for(auto&team:point){ int p=0; for(auto&question:penalty[team.first]){ p+=question.second; } place[make_pair(team.second,-p)].insert(team.first); } int count =0,countteam=0; for(auto &elem:place){ if(count==3) break; if(countteam>=3) break; for(auto&team: elem.second){ cout<<team<<" "<<elem.first.first<<" "<<abs(elem.first.second)<<endl; countteam++; } count++; } } |
# 0163, 2024-11-02 14:13:47, --------------------- (0%) #include <iostream> #include <vector> #include <algorithm> using namespace std; vector<pair<int,int>> Q1,Q2,Q3,Q4 ; int main(){ int a; cin >> a; for(int i=0; i<a; i++){ int x,y; cin >> x >> y; if(x==0 || y==0) continue; else{ pair<int, int> p={x,y}; if(x>0 && y>0) Q1.push_back(p); if(x>0 && y<0) Q4.push_back(p); if(x<0 && y>0) Q2.push_back(p); if(x<0 && y<0) Q3.push_back(p); } } int Q1_xmin=1e7, Q1_ymin=1e7, Q1_xmax=0, Q1_ymax=0; for(int i=0; i<Q1.size(); i++){ if(Q1[i].first > Q1_xmax) Q1_xmax = Q1[i].first; if(Q1[i].first < Q1_xmin) Q1_xmin = Q1[i].first; if(Q1[i].second > Q1_ymax) Q1_ymax = Q1[i].second; if(Q1[i].second < Q1_ymin) Q1_ymin = Q1[i].second; } int Q2_xmin=1e7, Q2_ymin=1e7, Q2_xmax=-1e7, Q2_ymax=-1e7; for(int i=0; i<Q2.size(); i++){ if(Q2[i].first > Q2_xmax) Q2_xmax = Q2[i].first; if(Q2[i].first < Q2_xmin) Q2_xmin = Q2[i].first; if(Q2[i].second > Q2_ymax) Q2_ymax = Q2[i].second; if(Q2[i].second < Q2_ymin) Q2_ymin = Q2[i].second; } int Q3_xmin=0, Q3_ymin=0, Q3_xmax=-1e7, Q3_ymax=-1e7; for(int i=0; i<Q3.size(); i++){ if(Q3[i].first > Q3_xmax) Q3_xmax = Q3[i].first; if(Q3[i].first < Q3_xmin) Q3_xmin = Q3[i].first; if(Q3[i].second > Q3_ymax) Q3_ymax = Q3[i].second; if(Q3[i].second < Q3_ymin) Q3_ymin = Q3[i].second; } int Q4_xmin=1e7, Q4_ymin=1e7, Q4_xmax=-1e7, Q4_ymax=-1e7; for(int i=0; i<Q4.size(); i++){ if(Q4[i].first > Q4_xmax) Q4_xmax = Q4[i].first; if(Q4[i].first < Q4_xmin) Q4_xmin = Q4[i].first; if(Q4[i].second > Q4_ymax) Q4_ymax = Q4[i].second; if(Q4[i].second < Q4_ymin) Q4_ymin = Q4[i].second; } if(Q1.empty() && Q2.empty() && Q3.empty() && Q4.empty()){ cout << "No point in any quadrant"; return 0; } if(!Q1.empty()){ if(Q1.size()==1){ cout << "Q1: (" << Q1[0].first << ", " << Q1[0].second << ") " << "(" << Q1[0].first << ", " << Q1[0].second << ") " << 0 << '\n'; }else{ cout << "Q1: (" << Q1_xmin << ", " << Q1_ymin << ") (" << Q1_xmax << ", " << Q1_ymax << ") " << (Q1_xmax-Q1_xmin)*(Q1_ymax-Q1_ymin) << '\n'; } } if(!Q2.empty()){ if(Q2.size()==1){ cout << "Q2: (" << Q2[0].first << ", " << Q2[0].second << ") " << "(" << Q2[0].first << ", " << Q2[0].second << ") " << 0 << '\n'; }else{ cout << "Q2: (" << Q2_xmin << ", " << Q2_ymin << ") (" << Q2_xmax << ", " << Q2_ymax << ") " << (Q2_xmax-Q2_xmin)*(Q2_ymax-Q2_ymin) << '\n'; } } if(!Q3.empty()){ if(Q3.size()==1){ cout << "Q3: (" << Q3[0].first << ", " << Q3[0].second << ") " << "(" << Q3[0].first << ", " << Q3[0].second << ") " << 0 << '\n'; }else{ cout << "Q3: (" << Q3_xmin << ", " << Q3_ymin << ") (" << Q3_xmax << ", " << Q3_ymax << ") " << (Q3_xmax-Q3_xmin)*(Q3_ymax-Q3_ymin) << '\n'; } } if(!Q4.empty()){ if(Q4.size()==1){ cout << "Q4: (" << Q4[0].first << ", " << Q4[0].second << ") " << "(" << Q4[0].first << ", " << Q4[0].second << ") " << 0 << '\n'; }else{ cout << "Q4: (" << Q4_xmin << ", " << Q4_ymin << ") (" << Q4_xmax << ", " << Q4_ymax << ") " << (Q4_xmax-Q4_xmin)*(Q4_ymax-Q4_ymin) << '\n'; } } // //1 point // cout << "Q1: (" << Q1[0].first << ", " << Q1[0].second << ")" << 1 << '\n'; // //2 point up // cout << "Q1: (" << Q1_xmin << ", " << Q1_ymin << ") (" << // Q1_xmax << ", " << Q1_ymax << ") " << (Q1_xmax-Q1_xmin)*(Q1_ymax-Q1_ymin) << '\n'; // cout << "Q2: (" << Q2_xmin << ", " << Q2_ymin << ") (" << // Q2_xmax << ", " << Q2_ymax << ") " << (Q2_xmax-Q2_xmin)*(Q2_ymax-Q2_ymin) << '\n'; // cout << "Q3: (" << Q3_xmin << ", " << Q3_ymin << ") (" << // Q3_xmax << ", " << Q3_ymax << ") " << (Q3_xmax-Q3_xmin)*(Q3_ymax-Q3_ymin) << '\n'; // cout << "Q4: (" << Q4_xmin << ", " << Q4_ymin << ") (" << // Q4_xmax << ", " << Q4_ymax << ") " << (Q4_xmax-Q4_xmin)*(Q4_ymax-Q4_ymin) << '\n'; } /* 19 2 2 4 6 5 5 1 0 -1 2 -3 4 -2 6 0 -3 -5 7 -4 5 -6 3 0 4 -2 -2 -5 -6 -7 0 6 -4 4 -6 3 -2 2 -5 */ | # 0164, 2024-11-02 15:26:32, PPPPPPPPPPPPPPPPPPPPP (100%) #include <iostream> #include <map> #include <vector> #include <set> #include <algorithm> using namespace std; map<string , pair< vector<pair<int,int>>, pair< set<int> , int>>> m; vector<pair<pair<int,int>, string>> ans; vector<int > v; int main(){ int a; cin >> a; for(int i=0; i<a; i++){ int time, exam; string name, chk; cin >> time >> name >> exam >> chk; if(chk=="T"){ //find exam in carry int cnt = 0; for(auto a : m[name].first){ if(exam == a.second && time != a.first) cnt++; } //find exam in exam if(m[name].second.first.count(exam) == 0){ //can not find right exam in exam if(cnt == 0){ // never wrong m[name].second.first.insert(exam); m[name].second.second += time; }else{ //ever wrong int penalty = cnt * 20; penalty += time; m[name].second.first.insert(exam); m[name].second.second += penalty; } } }else{ //push the exam to wrong exam carry m[name].first.push_back({time, exam}); } } for(auto a : m){ int correct = a.second.second.first.size(); int penalty = a.second.second.second; string namee = a.first; pair<int,int> p = {-correct, penalty}; pair<pair<int,int>, string> pp = {p, namee}; ans.push_back(pp); } sort(ans.begin(), ans.end()); if(ans.size()<=3){ for(auto a : ans){ if(a.first.first!=0) cout << a.second << " " << -a.first.first << " " << a.first.second << '\n'; } }else{ int orderchk = 3; for(int i=0; i<3; i++){ if(ans[i].first.first!=0) cout << ans[i].second << " " << -ans[i].first.first << " " << ans[i].first.second << '\n'; } while(ans[orderchk].first.first == ans[orderchk-1].first.first && ans[orderchk].first.second == ans[orderchk-1].first.second){ if(ans[orderchk].first.first!=0) cout << ans[orderchk].second << " " << -ans[orderchk].first.first << " " << ans[orderchk].first.second << '\n'; orderchk++; } } // for(auto a : m){ // cout << a.first << " : Wrong record "; // for(auto b : a.second.first){ // cout << '\n' << b.first << " " << b.second; // } // cout << '\n' << "Right exam record" << '\n'; // for(auto b : a.second.second.first){ // cout << b << " "; // } // cout << '\n' << "Penalty score" << '\n'; // cout << a.second.second.second; // cout << '\n'; // } } /* 4 10 D 1 T 15 C 1 F 20 K 2 F 20 J 3 F */ |
# 0165, 2024-11-02 14:38:15, PPPPPPPPPP-PPPPPPPPPP (95%) #include <iostream> #include <map> #include <vector> #include <set> using namespace std; int main(){ int n, time, no; string team; char status; map<string, pair<int, int>> sheet; // team -> [Point, Penalty] map<pair<int, int>, set<string>> rev_sheet; map<string, map<int, pair<bool, int>>> cor; // team -> no -> <0/1, #fail> cin >> n; while(n--){ cin >> time >> team >> no >> status; if(sheet.find(team) == sheet.end()){ sheet[team] = {0, 0}; cor[team]; } if(cor[team].find(no) == cor[team].end()){ cor[team][no] = {0, 0}; } if(cor[team][no].first == 0){ if(status == 'T'){ sheet[team].first--; sheet[team].second += time + (20*cor[team][no].second); cor[team][no].first = true; }else if(status == 'F'){ cor[team][no].second++; } } } for(auto &e : sheet){ if(rev_sheet.find(e.second) == rev_sheet.end()) rev_sheet[e.second]; rev_sheet[e.second].insert(e.first); } auto itr = rev_sheet.begin(); int i = 0; while(i < 3 && itr != rev_sheet.end()){ for(auto e : (*itr).second){ cout << e << " " << -1*((*itr).first.first) << " " << (*itr).first.second << endl; i++; } itr++; } } | # 0166, 2024-11-02 14:41:26, PPPPPPPPPPPPPPPPPPPPP (100%) #include <iostream> #include <map> #include <vector> #include <set> using namespace std; int main(){ int n, time, no; string team; char status; map<string, pair<int, int>> sheet; // team -> [Point, Penalty] map<pair<int, int>, set<string>> rev_sheet; map<string, map<int, pair<bool, int>>> cor; // team -> no -> <0/1, #fail> cin >> n; while(n--){ cin >> time >> team >> no >> status; if(sheet.find(team) == sheet.end()){ sheet[team] = {0, 0}; cor[team]; } if(cor[team].find(no) == cor[team].end()){ cor[team][no] = {0, 0}; } if(cor[team][no].first == 0){ if(status == 'T'){ sheet[team].first--; sheet[team].second += time + (20*cor[team][no].second); cor[team][no].first = true; }else if(status == 'F'){ cor[team][no].second++; } } } for(auto &e : sheet){ if(rev_sheet.find(e.second) == rev_sheet.end()) rev_sheet[e.second]; rev_sheet[e.second].insert(e.first); } auto itr = rev_sheet.begin(); int i = 0; while(i < 3 && itr != rev_sheet.end()){ if((*itr).first.first == 0) break; for(auto e : (*itr).second){ cout << e << " " << -1*((*itr).first.first) << " " << (*itr).first.second << endl; i++; } itr++; } } |
# 0167, 2024-11-02 11:16:53, PPPPPPPPPPPPPPPPPPPPP (100%) #include <iostream> #include <string> #include <vector> #include <utility> #include <set> #include <map> #include <algorithm> using namespace std; bool compareVector(pair<string, pair<unsigned, unsigned>> p1, pair<string, pair<unsigned, unsigned>> p2) { if (p1.second.first == p2.second.first) { if (p1.second.second == p2.second.second) { return p1.first < p2.first; } return p1.second.second < p2.second.second; } return p1.second.first > p2.second.first; } int main(int argc, char const *argv[]) { unsigned n; cin >> n; // teamName(key), pair of (set of correct problem, (total penalty,set of incorrect submission)) map<string, pair<set<string>, pair<unsigned, multiset<string>>>> dataList; for (unsigned i = 0; i < n; i++) { unsigned minute; string teamName; string problemName; char passCode; cin >> minute >> teamName >> problemName >> passCode; bool pass = passCode == 'T'; auto teamData = &dataList[teamName]; if (teamData->first.find(problemName) == teamData->first.end()) { if (pass) { teamData->second.first += minute; teamData->second.first += teamData->second.second.count(problemName) * 20; teamData->first.insert(problemName); } else { teamData->second.second.insert(problemName); } }; } // for (auto data : dataList) // { // cout << "Team " << data.first << ' '; // auto teamData = data.second; // cout << "total correct: "; // for (auto correct : teamData.first) // { // cout << correct << ' '; // } // cout << "total penalty: " << teamData.second.first << '\n'; // } // paif of (teamName, (score, penalty)) vector<pair<string, pair<unsigned, unsigned>>> resultList; for (auto data : dataList) { auto teamData = data.second; if (teamData.second.first != 0) { resultList.push_back({data.first, {teamData.first.size(), teamData.second.first}}); } } sort(resultList.begin(), resultList.end(), compareVector); auto prev = resultList[0].second; for (unsigned i = 0; i < 3 && i < resultList.size();) { auto result = resultList[i]; while (result.second == prev) { cout << result.first << ' ' << result.second.first << ' ' << result.second.second << '\n'; i++; if(i >= resultList.size()){ break; } result = resultList[i]; } prev = result.second; } return 0; } | # 0168, 2024-11-02 11:29:15, PPPPPPPPPPPPPPPPPPPPP (100%) #include <iostream> #include <string> #include <vector> #include <utility> #include <set> #include <map> #include <algorithm> using namespace std; bool compareVector(pair<string, pair<unsigned, unsigned>> p1, pair<string, pair<unsigned, unsigned>> p2) { if (p1.second.first == p2.second.first) { if (p1.second.second == p2.second.second) { return p1.first < p2.first; } return p1.second.second < p2.second.second; } return p1.second.first > p2.second.first; } int main(int argc, char const *argv[]) { unsigned n; cin >> n; // teamName(key), pair of (set of correct problem, (total penalty,set of incorrect submission)) map<string, pair<set<string>, pair<unsigned, multiset<string>>>> dataList; for (unsigned i = 0; i < n; i++) { unsigned minute; string teamName; string problemName; char passCode; cin >> minute >> teamName >> problemName >> passCode; bool pass = passCode == 'T'; auto teamData = &dataList[teamName]; if (teamData->first.find(problemName) == teamData->first.end()) { if (pass) { teamData->second.first += minute; teamData->second.first += teamData->second.second.count(problemName) * 20; teamData->first.insert(problemName); } else { teamData->second.second.insert(problemName); } }; } // for (auto data : dataList) // { // cout << "Team " << data.first << ' '; // auto teamData = data.second; // cout << "total correct: "; // for (auto correct : teamData.first) // { // cout << correct << ' '; // } // cout << "total penalty: " << teamData.second.first << '\n'; // } // paif of (teamName, (score, penalty)) vector<pair<string, pair<unsigned, unsigned>>> resultList; for (auto data : dataList) { auto teamData = data.second; if (teamData.second.first != 0) { resultList.push_back({data.first, {teamData.first.size(), teamData.second.first}}); } } sort(resultList.begin(), resultList.end(), compareVector); unsigned i = 0; auto prev = resultList[0].second; while (i < 3 && i < resultList.size()) { auto result = resultList[i++]; cout << result.first << ' ' << result.second.first << ' ' << result.second.second << '\n'; prev = result.second; while (i < resultList.size() && resultList[i].second == prev) { result = resultList[i++]; cout << result.first << ' ' << result.second.first << ' ' << result.second.second << '\n'; } } return 0; } |
# 0169, 2024-11-02 14:43:03, PPPPPPPPPPPPPPPPPPPPP (100%) #include<bits/stdc++.h> using namespace std; int main() { cin.tie(nullptr)->sync_with_stdio(false); int t,time1,exam; string name; char yay; map<string,set<pair<string,int>>> score; map<pair<string,int> ,int> penaltykeep; map<string ,int> penalty; set<pair<string,int>> truep; map<string,int> scored; set<string> names; cin>>t; while(t--) { cin>>time1>>name>>exam>>yay; if(yay == 'F') { if(truep.count(make_pair(name,exam))) continue; penaltykeep[make_pair(name,exam)] += 20; } else { if(truep.count(make_pair(name,exam))) continue; truep.insert(make_pair(name,exam)); penalty[name] += time1 + penaltykeep[make_pair(name,exam)]; scored[name] -= 1; } names.insert(name); } set<string> resultname; for(auto it : names) { if(scored[it] != 0) resultname.insert(it); } vector<tuple<int,int,string>> v; for(auto it : resultname) { v.push_back(make_tuple(scored[it],penalty[it],it)); } sort(v.begin(),v.end()); int i = 1; int mins = min((int)v.size(),3); for(auto it : v) { if(i > mins && get<1>(it) == get<1>(v[mins-1]) && get<0>(it) == get<0>(v[mins-1])){ cout<<get<2>(it)<<" "<<-1*get<0>(it)<<" "<<get<1>(it)<<'\n'; } else if(i<=mins) { cout<<get<2>(it)<<" "<<-1*get<0>(it)<<" "<<get<1>(it)<<'\n'; } else return 0; i++; } return 0; } |
# 0170, 2024-11-02 11:49:14, PPPPPPPPPPPPPPPPPPPPP (100%) #include <bits/stdc++.h> using namespace std; struct penalty { long long problem_penalty = -1; long long failed_attempts = 0; }; struct user_result { long long user_penalty = 0; int prob_count = 0; bool operator!=(const user_result& other) { return user_penalty != other.user_penalty || prob_count != other.prob_count; } }; using result = pair<string, user_result>; int main() { int n; cin >> n; // user -> (problem -> penalty) unordered_map<string, unordered_map<int, penalty>> submit2penalty; unordered_map<string, user_result> user2result; for (int i = 0; i < n; i++) { int time, problem; string user; char verdict; cin >> time >> user >> problem >> verdict; auto penal = &submit2penalty[user][problem]; if (penal->problem_penalty != -1) continue; if (verdict == 'F') penal->failed_attempts++; else if (verdict == 'T') { penal->problem_penalty = ((20 * penal->failed_attempts) + time); user2result[user].user_penalty += penal->problem_penalty; user2result[user].prob_count++; } } // placements vector<result> placement; placement.reserve(user2result.size()); for (auto &res : user2result) placement.push_back(res); sort(placement.begin(), placement.end(), [](const result& lhs, const result& rhs){ if (lhs.second.prob_count != rhs.second.prob_count) return lhs.second.prob_count > rhs.second.prob_count; if (lhs.second.user_penalty != rhs.second.user_penalty) return lhs.second.user_penalty < rhs.second.user_penalty; return lhs.first < rhs.first; }); // answer int print_cnt = 0; user_result third_place_data; for (auto &res : placement) { if (res.second.prob_count == 0) break; if (print_cnt > 2 && third_place_data != res.second) break; if (print_cnt == 2) third_place_data = res.second; cout << res.first << ' ' << res.second.prob_count << ' ' << res.second.user_penalty << '\n'; print_cnt++; } return 0; } |
# 0171, 2024-11-02 11:19:07, PPPPPPPPPPPPPPPPPPPPP (100%) #include<iostream> #include<bits/stdc++.h> #include<cmath> #include<vector> #include<set> #include<map> #include<algorithm> using namespace std; int main(){ int N; cin>>N; int time_i,ques_i; string team_i, B_i; map<string,int> team_rec; map<string,map<int,int>> team_pel; map<string,int> team_actual_pel; map<int,set<string>> ques_rec; set<string> team_pass; for(int i=0;i<N;i++){ cin>>time_i>>team_i>>ques_i>>B_i; if(team_rec.find(team_i)==team_rec.end()){ team_rec[team_i]=0; team_actual_pel[team_i]=0; } if(team_pel[team_i].find(ques_i)==team_pel[team_i].end()){ team_pel[team_i][ques_i]=0; } if(ques_rec.find(ques_i)==ques_rec.end()){ ques_rec[ques_i]={}; } if(ques_rec[ques_i].find(team_i)==ques_rec[ques_i].end()){ if(B_i=="T"){ team_actual_pel[team_i]+=time_i+team_pel[team_i][ques_i]; team_rec[team_i]++; ques_rec[ques_i].insert(team_i); team_pass.insert(team_i); }else if(B_i=="F"){ team_pel[team_i][ques_i]+=20; } } } vector<tuple<int,int,string>> ranking; for(auto i:team_pass){ ranking.push_back({team_rec[i],team_actual_pel[i],i}); //cout<<i<<" "<<team_rec[i]<<" "<<team_actual_pel[i]<<endl; } sort(ranking.begin(),ranking.end(),[](const auto&a, const auto&b){ if(get<0>(a)==get<0>(b)){ if(get<1>(a)==get<1>(b)){return get<2>(a) < get<2> (b);} return get<1>(a) < get<1>(b); } return get<0>(a) > get<0>(b); }); int top=3; for(int i=0;i<ranking.size();i++){ cout<<get<2>(ranking[i])<<" "<<get<0>(ranking[i])<<" "<<get<1>(ranking[i])<<endl; if(i!=ranking.size()-1 && get<0>(ranking[i])==get<0>(ranking[i+1]) && get<1>(ranking[i])==get<1>(ranking[i+1])){ top--; //cout<<"same"<<top<<endl; continue; } else{top--;} if(top<=0){break;} } } |
# 0172, 2024-11-02 11:00:40, PPPPPPPPPPPPPPPPPPPPP (100%) #include<iostream> #include<map> #include<vector> #include<algorithm> using namespace std; struct score{ bool correct; int time; }; struct st{ string name; int time; int num_correct; bool operator < (const st & rhs) const{ if(num_correct == rhs.num_correct) return time < rhs.time; return num_correct > rhs.num_correct; } }; int main(){ int n; cin >> n; map<int,map<string,score>> mp; map<string,score> mp2; vector<st> v; map<string,pair<int,int>> team_score; for(int i=0;i<n;i++){ int min,no; string name,status; cin >> min >> name >> no >> status; if(mp[no].find(name) != mp[no].end()){ if(mp[no][name].correct == 1) continue; mp[no][name].correct = (status == "T"); mp[no][name].time += (status == "T" ? min : 20); }else{ mp[no][name].correct = (status == "T"); mp[no][name].time = (status == "T" ? min : 20); team_score[name].first = 0; team_score[name].second = 0; } } for(auto &x : mp){ for(auto &y : x.second){ // cout << x.first << " | "; // cout << y.first << " " << y.second.time << " " << y.second.correct << "\n"; if(team_score.find(y.first) != team_score.end()){ if(y.second.correct == 1){ team_score[y.first].first += y.second.time; team_score[y.first].second += 1; } } } } // for(auto &x : team_score) cout << x.first << " " << x.second .first << " " << x.second.second << "\n"; for(auto &x : team_score) v.push_back({x.first,x.second.first,x.second.second}); sort(v.begin(),v.end()); for(size_t i=0;i<v.size();i++){ if(v[i].num_correct == 0) break; if(i == 3) break; cout << v[i].name << " " << v[i].num_correct << " " << v[i].time << "\n"; } for(size_t i=3;i<v.size();i++){ if(v[i].num_correct == 0) break; if(v[i].num_correct == v[i-1].num_correct && v[i].time == v[i-1].time) cout << v[i].name << " " << v[i].num_correct << " " << v[i].time << "\n"; else break; } return 0; } |
# 0173, 2024-11-02 11:54:40, PPPPPPPPPPPPPPPPPPPPP (100%) #include <bits/stdc++.h> using namespace std; int main(){ int n; cin >> n; set<pair<string,int>> correct; map<pair<string,int>, int> trying; map<string, int> penalty; map<string, int> count; for(int i=0; i<n; i++){ int m, c; string t; char r; cin >> m >> t >> c >> r; auto x = make_pair(t,c); if(correct.count(x)){ continue; } if(r == 'T'){ penalty[t] += (20*trying[x] + m); correct.insert(x); count[t]++; }else{ trying[x]++; } } map<pair<int,int>, set<string>> result; for(auto [t, c]: correct){ result[make_pair(-count[t], penalty[t])].insert(t); } int rank = 0; for(auto [a, b]: result){ for(auto t: b){ cout << t << " " << -a.first << " " << a.second << "\n"; rank++; } if(rank >= 3){ break; } } } |
# 0174, 2024-11-02 11:51:26, PPPPPPPPPPPPPPPPPPPPP (100%) #include <iostream> #include <set> #include <map> using namespace std; int main() { int n; cin>>n; map<string, set<int>> check; map<string, pair<int,int>> data; //name, score, pen map<string, map<int,int>> wrong; //name, num, F count string name, mark; set<int,greater<int>> all_score; set<int> all_pen; int time, num; for (int i=0 ; i<n ; i++) { cin>>time>>name>>num>>mark; if (wrong.find(name) == wrong.end()) { wrong[name][num] = 0; } if (check[name].find(num) != check[name].end()) continue; if (mark == "T") { for (int j=0 ; j<wrong[name][num] ; j++) { time += 20; } check[name].insert(num); if (data.find(name) == data.end()) { data[name].second = time; data[name].first = 1; } else { data[name].first++; data[name].second += time; } all_score.insert(data[name].first); all_pen.insert(data[name].second); } else if (mark == "F") { wrong[name][num]++; } } int count=0; for (auto s:all_score) { for (auto p:all_pen) { for (auto d:data) { if (d.second.first == s && d.second.second == p) { cout<<d.first<<" "<<d.second.first<<" "<<d.second.second<<endl; count++; } } if (count>=3) return 0; } } } |
# 0175, 2024-11-02 11:23:17, PPPPPPPPPPPPPPPPPPPPP (100%) #include <algorithm> #include <iostream> #include <map> #include <set> #include <string> #include <vector> using namespace std; bool cmp(pair<string, pair<int, int>> &a, pair<string, pair<int, int>> &b); int main() { int n; cin >> n; map<string, map<int, vector<pair<int, bool>>>> competition; // competition[team][question][{time, correct}] int time, question; string team, correct; for (int i = 0; i < n; i++) { cin >> time >> team >> question >> correct; if (correct == "T") competition[team][question].push_back({time, true}); else if (correct == "F") competition[team][question].push_back({time, false}); } map<string, pair<int, int>> result; // {team, {#correct, penalty}} for (auto team : competition) { int penalty = 0; set<int> isCorrect; for (auto question : team.second) { int localPenalty = 0; for (auto history : question.second) { if (history.second == false) { localPenalty += 20; } else { penalty += history.first + localPenalty; isCorrect.insert(question.first); break; } } } result[team.first].first = isCorrect.size(); result[team.first].second = penalty; } vector<pair<string, pair<int, int>>> resultToSort; for (auto listing : result) { resultToSort.push_back(listing); } sort(resultToSort.begin(), resultToSort.end(), cmp); pair<string, pair<int, int>> previous; for (long unsigned int i = 0; i < resultToSort.size(); i++) { if (resultToSort[i].second.first > 0 && (i < 3 || (i >= 3 && previous.second.first == resultToSort[i].second.first && previous.second.second == resultToSort[i].second.second))) { cout << resultToSort[i].first << " " << resultToSort[i].second.first << " " << resultToSort[i].second.second << endl; previous.first = resultToSort[i].first; previous.second.first = resultToSort[i].second.first; previous.second.second = resultToSort[i].second.second; } else break; } return 0; } bool cmp(pair<string, pair<int, int>> &a, pair<string, pair<int, int>> &b) { if (a.second.first != b.second.first) return a.second.first > b.second.first; else if (a.second.second != b.second.second) return a.second.second < b.second.second; else return a.first < b.first; } |
# 0176, 2024-11-02 11:21:59, PPPPPPPPPPPPPPPPPPPPP (100%) #include<bits/stdc++.h> #include <cmath> using namespace std; bool compare(pair<pair<int,int>,string>a,pair<pair<int,int>,string>b){ if(a.first.first==b.first.first){ if(a.first.second==b.first.second){ return a.second<b.second; } return a.first.second<b.first.second; } return a.first.first>b.first.first; } int main(){ unordered_map<string,int>ttos; unordered_map<string,int>ttop; unordered_map<string,unordered_map<int,int>> done; int n,time,q;string team,cor; cin>>n; while(n--){ cin>>time>>team>>q>>cor; if(cor=="T"){ if(done[team][q]==1) continue; else{ ttos[team]++; ttop[team]+=time+abs(done[team][q])*20; done[team][q]=1; } }else{ if(done[team][q]==1) continue; else done[team][q]--; } } vector<pair<pair<int,int>,string>> final; for(auto i:ttos){ final.push_back({{i.second,ttop[i.first]},i.first}); } sort(final.begin(),final.end(),compare); int cnt{1};pair<pair<int,int>,string>prev; for(int i{0};i<final.size()&&i<3;i++){ cout << final[i].second << ' ' << final[i].first.first << ' ' << final[i].first.second << "\n"; if(i==2){ prev = final[2]; while(i+1<final.size()&&final[i+1].first.first==prev.first.first&&final[i+1].first.second==prev.first.second){ i++; cout << final[i].second << ' ' << final[i].first.first << ' ' << final[i].first.second << "\n"; } } } } |
# 0177, 2024-11-02 14:31:34, PPPPPPPPPPPPPPPPPPPPP (100%) #include <iostream> #include <map> #include <set> #include <vector> #include <algorithm> struct Grader { std::set<int> correctedQuestions; long long penalty = 0; std::map<int, long long> naPenal; }; bool sortRank(const std::pair<std::string, Grader> &a, const std::pair<std::string, Grader> &b) { if (a.second.correctedQuestions.size() == b.second.correctedQuestions.size()) return a.second.penalty < b.second.penalty; return a.second.correctedQuestions.size() > b.second.correctedQuestions.size(); } int main() { int amt; std::cin >> amt; std::map<std::string, Grader> pp; for (int i = 0; i < amt; ++i) { long long minTaken; std::string name; int question_id; char status; std::cin >> minTaken >> name >> question_id >> status; if (pp[name].correctedQuestions.find(question_id) != pp[name].correctedQuestions.end()) continue; if (status == 'T') { pp[name].penalty += (pp[name].naPenal[question_id] + minTaken); pp[name].correctedQuestions.insert(question_id); } else { pp[name].naPenal[question_id] += 20; } } std::vector<std::pair<std::string, Grader>> vec; for (auto i : pp) vec.emplace_back(i.first, i.second); std::sort(vec.begin(), vec.end(), sortRank); std::pair<std::string, Grader> prev = vec[0]; int idx = 1; for (auto i : vec) { if (idx > 3 && (prev.second.correctedQuestions.size() != i.second.correctedQuestions.size() || prev.second.penalty != i.second.penalty)) break; if (i.second.correctedQuestions.size() == 0) continue; prev = i; std::cout << i.first << " " << i.second.correctedQuestions.size() << " " << i.second.penalty << std::endl; ++idx; } } |
# 0178, 2024-11-02 11:31:21, PPPPPPPPPPPPPPPPPPPPP (100%) #include <iostream> #include <set> #include <map> using namespace std; int main(){ int i,n,min,num; string team; char tf; map<string,int> time; map<pair<int,string>,int> wrongtime; map<string,set<int>> correct; cin >> n; for(i=0;i<n;++i){ cin >> min >> team >> num >> tf; if(tf=='T'){ if(correct[team].find(num)==correct[team].end()){ if(time.find(team)==time.end()){ time[team]=0; } time[team]+=min; if(wrongtime.find(make_pair(num,team))!=wrongtime.end()){ time[team] += wrongtime[make_pair(num,team)]; } } correct[team].insert(num); }else{ if(wrongtime.find(make_pair(num,team))==wrongtime.end()){ wrongtime[make_pair(num,team)]=0; } wrongtime[make_pair(num,team)]+=20; } } map<int,set<pair<int,string>>> re; for(auto j : correct){ re[j.second.size()].insert(make_pair(time[j.first],j.first)); } int per=3; map<int,set<pair<int,string>>>::iterator itr=--re.end(); while(per>0){ int check1,check2; check1=itr->first; check2=itr->second.begin()->first; for(auto i : itr->second){ if((itr->first!=check1||i.first!=check2)&&per<=0){ break; } cout << i.second << " " << itr->first << " " << i.first << endl; per--; check1=itr->first; check2=i.first; } if(itr==re.begin()) break; itr--; } } |
# 0179, 2024-11-02 11:33:57, PPPPPPPPPPPPPPPPPPPPP (100%) #include <bits/stdc++.h> using namespace std; int main() { int n, min, ques, submiss = 0, cnt = 0; string team; char check; cin >> n; map<pair<string, int>, pair<int, int>> pen; map<string, pair<int, int>> pena; vector<pair<pair<int, int>, string>> asd; while (n--) { cin >> min >> team >> ques >> check; if (pena.find(team) == pena.end()) { pena[team] = {0, 0}; } if (pen.find({team, ques}) != pen.end()) { pen[{team, ques}].first = min; if (check == 'T' && pen[{team, ques}].second > 0) { pena[team].first += pen[{team, ques}].second * 20 + pen[{team, ques}].first; /*cout << endl << team << " " << pena[team].first << endl;*/ pena[team].second++; pen[{team, ques}].second = -1000; } else if (check == 'F' && pen[{team, ques}].second > 0) { ++pen[{team, ques}].second; } } else { pen[{team, ques}] = {min, submiss}; if (check == 'T') { pena[team].first += pen[{team, ques}].second * 20 + pen[{team, ques}].first; /*cout << endl << team << " " << pena[team].first << endl;*/ pena[team].second++; } else { ++pen[{team, ques}].second; } } } for (auto x : pena) { if(x.second.second!=0) asd.push_back({{-x.second.second, x.second.first}, x.first}); } sort(asd.begin(), asd.end()); int save1, save2; for (auto x : asd) { if (cnt >= 3 && (-x.first.first != save1 || x.first.second != save2)) break; cout << x.second << " " << -x.first.first << " " << x.first.second << endl; ++cnt; save1 = -x.first.first; save2 = x.first.second; } } |
# 0180, 2024-11-02 15:00:53, PPPPPPPPPPPPPPPPPPPPP (100%) #include <bits/stdc++.h> using namespace std; int main() { int n ; cin >> n; set <string> team; map <string, pair<set <int> , int>> score; map <string, vector<int>> pen; while(n--) { int time, exam; string name; char pass; cin >> time >> name >> exam >> pass; if (pass == 'F') { pen[name].push_back(exam); } else { if (team.find(name) == team.end()) { score[name].first.insert(exam); score[name].second += time; for (auto &it : pen[name]) { if (it == exam) score[name].second += 20; } team.insert(name); } else { if (score[name].first.find(exam) == score[name].first.end()) { score[name].first.insert(exam); score[name].second += time; for (auto &it : pen[name]) { if (it == exam) score[name].second += 20; } } } } } vector <pair<string,pair<set <int>,int>>> ans = {score.begin(), score.end()}; sort(ans.begin(), ans.end(), [](auto a, auto b){ if (a.second.first.size() == b.second.first.size()) return a.second.second < b.second.second; return a.second.first.size() > b.second.first.size(); }); for (int i = 0 ; i < team.size() ; i++) { if (i >= 3 && (ans[i-1].second.first.size() != ans[i].second.first.size() || ans[i-1].second.second != ans[i].second.second)) break; cout << ans[i].first << ' ' << ans[i].second.first.size() << ' ' << ans[i].second.second << endl; } //&& temp_s != now_s && temp_t != now_t } |
# 0181, 2024-11-02 14:22:30, PPPPPPPPPPPPPPPPPPPPP (100%) #include <iostream> #include<cmath> #include<climits> #include<set> #include<vector> #include<string> #include<map> using namespace std; int main(){ int n; cin>>n; map<string,map<int,int>> p; map<string,map<int,int>> chcekp; for(int i=0;i<n;i++){ int t; string g; int m; char c; cin>>t>>g>>m>>c; if(c=='T'){ if(chcekp[g][m]==0){ chcekp[g][m]=1; p[g][m]+=t; } }else if(c=='F'){ if(chcekp[g][m]==0){ p[g][m]+=20; } } } map<string,pair<int,int>>total; map<pair<int,int>,set<string>>ans; for(auto it:p){ string name=it.first; for(auto ij: it.second){ int choice=ij.first; int pen=ij.second; if(chcekp[name][choice]){ total[name].second+=pen; total[name].first++; } } ans[{-total[name].first,total[name].second}].insert(name); } // for(auto it:total){ // cout<<it.first<<' '<<it.second.first<<' '<<it.second.second<<'\n'; // } int i=0; for(auto it:ans){ if(i>=3)break; int choice=-it.first.first; int pen=it.first.second; for(auto ij:it.second){ if(choice!=0)cout<<ij<<' '<<choice<<' '<<pen<<'\n'; i++; } } } |
# 0182, 2024-11-02 11:15:44, PPPPPPPPPPPPPPPPPPPPP (100%) #include <iostream> #include <map> #include <set> #include <vector> #include <algorithm> using namespace std; struct Data { string name; int totalCorrect; int panalty; }; bool compare1(const Data &a, const Data &b) { if (a.totalCorrect != b.totalCorrect) { return (a.totalCorrect > b.totalCorrect); } else { if (a.panalty != b.panalty) { return (a.panalty < b.panalty); } else { return (a.name < b.name); } } } int main() { set<string> nameList; map<string, map<int, int>> correct_time; map<string, map<int, int>> totalWrong; map<string, set<int>> totalCorrect; map<string, int> panalty; int num; cin >> num; for (int i = 0; i < num; i++) { int time; string name; int question; char correct_c; bool correct; cin >> time >> name >> question >> correct_c; correct_c == 'T' ? correct = true : correct = false; nameList.insert(name); if (panalty.find(name) == panalty.end()) { panalty[name] = 0; } if (totalCorrect.find(name) == totalCorrect.end()) { totalCorrect[name] = {}; } if (totalWrong.find(name) == totalWrong.end()) { totalWrong[name] = {}; } if (correct) { if (totalCorrect[name].find(question) == totalCorrect[name].end()) { panalty[name] += time; totalCorrect[name].insert(question); if (totalWrong[name].find(question) != totalWrong[name].end()) { panalty[name] += 20 * totalWrong[name][question]; } } } else { if (totalCorrect[name].find(question) == totalCorrect[name].end()) { if (totalWrong[name].find(question) != totalWrong[name].end()) { totalWrong[name][question] += 1; } else { totalWrong[name][question] = 1; } } } } vector<Data> order1; for (auto & a : nameList) { Data d; d.name = a; d.totalCorrect = totalCorrect[a].size(); d.panalty = panalty[a]; order1.push_back(d); } sort(order1.begin(), order1.end(), compare1); int count = 0; int pre_panalty; for (long unsigned int i = 0; i < order1.size(); i++) { Data d = order1[i]; if (d.totalCorrect > 0 && (count < 3 || pre_panalty == d.panalty )) { cout << d.name << " " << d.totalCorrect << " " << d.panalty << endl; pre_panalty = d.panalty ; count++; continue; } } } |
# 0183, 2024-11-02 11:07:09, PPPPPPPPPP-PPPPP-PPPP (90%) #include<bits/stdc++.h> using namespace std; int main() { //put in queue of pairs (Ans,solve) int n; cin >> n; set<string>teamlist;// too see all team map<string,set<int>>teamsolve; //to see solved question per team map<string,string>solvelong;//to see FFFFT map<string,int>ans={}; //answer map<int,vector<pair<int,string>>,greater<int>>abc; //jatoblaew int winner[1000000]={}; int winner2[1000000]={}; for (int i = 0 ; i < n ; i++) { int time; string team; int choice; char grade; cin >> time >> team >> choice >> grade; char tmpchoice = (choice+'0'); teamlist.insert(team); solvelong[team+tmpchoice]+=grade; if (grade=='T') { if (teamsolve[team].find(choice)==teamsolve[team].end()) { teamsolve[team].insert(choice); ans[team]+=time; } } } for (auto x : teamlist) { // cout << x << " "; for (auto y : teamsolve[x]) { //cout << y << " "; char anschar = y +'0'; string letsgo = x+anschar; for (int i = 0 ; i < solvelong[letsgo].length() ; i++) { //cout << solvelong[letsgo][i] if (solvelong[letsgo][i]=='F') { ans[x]+=20; } else break; } // cout << " "; } //cout << ans[x] << endl; } for (auto x : teamlist) { //cout << x << endl; abc[teamsolve[x].size()].push_back({ans[x],x}); } int tag = 0; for (auto x = abc.begin(); x!= abc.end(); x++) { //cout << x->first << endl; sort(x->second.begin(),x->second.end()); for (auto y : x->second) { if (tag>=3) { if (y.first==winner2[3]&&x->first==winner[3]) { cout << y.second << " " << x->first << " " << y.first; } else return 0; } else{ cout << y.second << " " << x->first << " " << y.first; tag++; winner[tag]=x->first; winner2[tag]=y.first; cout << endl; } } } } | # 0184, 2024-11-02 11:08:54, PPPPPPPPPPPPPPPP-PPPP (95%) #include<bits/stdc++.h> using namespace std; int main() { //put in queue of pairs (Ans,solve) int n; cin >> n; set<string>teamlist;// too see all team map<string,set<int>>teamsolve; //to see solved question per team map<string,string>solvelong;//to see FFFFT map<string,int>ans={}; //answer map<int,vector<pair<int,string>>,greater<int>>abc; //jatoblaew int winner[1000000]={}; int winner2[1000000]={}; for (int i = 0 ; i < n ; i++) { int time; string team; int choice; char grade; cin >> time >> team >> choice >> grade; char tmpchoice = (choice+'0'); teamlist.insert(team); solvelong[team+tmpchoice]+=grade; if (grade=='T') { if (teamsolve[team].find(choice)==teamsolve[team].end()) { teamsolve[team].insert(choice); ans[team]+=time; } } } for (auto x : teamlist) { // cout << x << " "; for (auto y : teamsolve[x]) { //cout << y << " "; char anschar = y +'0'; string letsgo = x+anschar; for (int i = 0 ; i < solvelong[letsgo].length() ; i++) { //cout << solvelong[letsgo][i] if (solvelong[letsgo][i]=='F') { ans[x]+=20; } else break; } // cout << " "; } //cout << ans[x] << endl; } for (auto x : teamlist) { //cout << x << endl; abc[teamsolve[x].size()].push_back({ans[x],x}); } int tag = 0; for (auto x = abc.begin(); x!= abc.end(); x++) { //cout << x->first << endl; if (x->first==0) return 0; sort(x->second.begin(),x->second.end()); for (auto y : x->second) { if (tag>=3) { if (y.first==winner2[3]&&x->first==winner[3]) { cout << y.second << " " << x->first << " " << y.first; } else return 0; } else{ cout << y.second << " " << x->first << " " << y.first; tag++; winner[tag]=x->first; winner2[tag]=y.first; cout << endl; } } } } | # 0185, 2024-11-02 11:10:50, PPPPPPPPPPPPPPPP-PPPP (95%) #include<bits/stdc++.h> using namespace std; int main() { //put in queue of pairs (Ans,solve) int n; cin >> n; set<string>teamlist;// too see all team map<string,set<int>>teamsolve; //to see solved question per team map<string,string>solvelong;//to see FFFFT map<string,int>ans={}; //answer map<int,vector<pair<int,string>>,greater<int>>abc; //jatoblaew int winner[1000000]={}; int winner2[1000000]={}; for (int i = 0 ; i < n ; i++) { int time; string team; int choice; char grade; cin >> time >> team >> choice >> grade; char tmpchoice = (choice+'0'); teamlist.insert(team); solvelong[team+tmpchoice]+=grade; if (grade=='T') { if (teamsolve[team].find(choice)==teamsolve[team].end()) { teamsolve[team].insert(choice); ans[team]+=time; } } } for (auto x : teamlist) { // cout << x << " "; for (auto y : teamsolve[x]) { //cout << y << " "; char anschar = y +'0'; string letsgo = x+anschar; for (long unsigned int i = 0 ; i < solvelong[letsgo].length() ; i++) { //cout << solvelong[letsgo][i] if (solvelong[letsgo][i]=='F') { ans[x]+=20; } else break; } // cout << " "; } //cout << ans[x] << endl; } for (auto x : teamlist) { //cout << x << endl; abc[teamsolve[x].size()].push_back({ans[x],x}); } int tag = 0; for (auto x = abc.begin(); x!= abc.end(); x++) { //cout << x->first << endl; if (x->first==0) return 0; sort(x->second.begin(),x->second.end()); for (auto y : x->second) { if (tag>=3) { if (y.first==winner2[3]&&x->first==winner[3]) { cout << y.second << " " << x->first << " " << y.first; } else return 0; } else{ cout << y.second << " " << x->first << " " << y.first; tag++; winner[tag]=x->first; winner2[tag]=y.first; cout << endl; } } } } | # 0186, 2024-11-02 11:11:07, PPPPPPPPPPPPPPPP-PPPP (95%) #include<bits/stdc++.h> using namespace std; int main() { //put in queue of pairs (Ans,solve) int n; cin >> n; set<string>teamlist;// too see all team map<string,set<int>>teamsolve; //to see solved question per team map<string,string>solvelong;//to see FFFFT map<string,int>ans={}; //answer map<int,vector<pair<int,string>>,greater<int>>abc; //jatoblaew int winner[10000000]={}; int winner2[10000000]={}; for (int i = 0 ; i < n ; i++) { int time; string team; int choice; char grade; cin >> time >> team >> choice >> grade; char tmpchoice = (choice+'0'); teamlist.insert(team); solvelong[team+tmpchoice]+=grade; if (grade=='T') { if (teamsolve[team].find(choice)==teamsolve[team].end()) { teamsolve[team].insert(choice); ans[team]+=time; } } } for (auto x : teamlist) { // cout << x << " "; for (auto y : teamsolve[x]) { //cout << y << " "; char anschar = y +'0'; string letsgo = x+anschar; for (long unsigned int i = 0 ; i < solvelong[letsgo].length() ; i++) { //cout << solvelong[letsgo][i] if (solvelong[letsgo][i]=='F') { ans[x]+=20; } else break; } // cout << " "; } //cout << ans[x] << endl; } for (auto x : teamlist) { //cout << x << endl; abc[teamsolve[x].size()].push_back({ans[x],x}); } int tag = 0; for (auto x = abc.begin(); x!= abc.end(); x++) { //cout << x->first << endl; if (x->first==0) return 0; sort(x->second.begin(),x->second.end()); for (auto y : x->second) { if (tag>=3) { if (y.first==winner2[3]&&x->first==winner[3]) { cout << y.second << " " << x->first << " " << y.first; } else return 0; } else{ cout << y.second << " " << x->first << " " << y.first; tag++; winner[tag]=x->first; winner2[tag]=y.first; cout << endl; } } } } | # 0187, 2024-11-02 11:36:36, PPPPPPPPPPPPPPPP-PPPP (95%) #include<bits/stdc++.h> using namespace std; int main() { //put in queue of pairs (Ans,solve) int n=0; cin >> n; set<string>teamlist={};// too see all team map<string,set<int>>teamsolve={}; //to see solved question per team map<string,string>solvelong={};//to see FFFFT map<string,int>ans={}; //answer map<int,vector<pair<int,string>>,greater<int>>abc={}; //jatoblaew int winner[1000000]={}; int winner2[1000000]={}; for (int i = 0 ; i < n ; i++) { int time={}; string team={}; int choice={}; char grade={}; cin >> time >> team >> choice >> grade; char tmpchoice = (choice+'0'); teamlist.insert(team); solvelong[team+tmpchoice]+=grade; if (grade=='T') { if (teamsolve[team].find(choice)==teamsolve[team].end()) { teamsolve[team].insert(choice); ans[team]+=time; } } } for (auto x : teamlist) { // cout << x << " "; for (auto y : teamsolve[x]) { //cout << y << " "; char anschar = y +'0'; string letsgo = x+anschar; for (long unsigned int i = 0 ; i < solvelong[letsgo].length() ; i++) { //cout << solvelong[letsgo][i] if (solvelong[letsgo][i]=='F') { ans[x]+=20; } else break; } // cout << " "; } //cout << ans[x] << endl; } for (auto x : teamlist) { //cout << x << endl; abc[teamsolve[x].size()].push_back({ans[x],x}); } int tag = 0; for (auto x = abc.begin(); x!= abc.end(); x++) { //cout << x->first << endl; if (x->first==0) return 0; sort(x->second.begin(),x->second.end()); for (auto y : x->second) { if (tag>=3) { if (y.first==winner2[3]&&x->first==winner[3]) { cout << y.second << " " << x->first << " " << y.first; } else return 0; } else{ cout << y.second << " " << x->first << " " << y.first; tag++; winner[tag]=x->first; winner2[tag]=y.first; cout << endl; } } } } | # 0188, 2024-11-02 12:00:19, PPPPPPPPPPPPPPPP----P (80%) #include<bits/stdc++.h> using namespace std; int main() { //put in queue of pairs (Ans,solve) int n=0; cin >> n; set<string>teamlist={};// too see all team map<string,set<int>>teamsolve={}; //to see solved question per team map<string,string>solvelong={};//to see FFFFT map<string,int>ans={}; //answer map<int,vector<pair<int,string>>,greater<int>>abc={}; //jatoblaew int winner[1000000]={}; int winner2[1000000]={}; for (int i = 0 ; i < n ; i++) { int time={}; string team={}; string choice={}; char grade={}; cin >> time >> team >> choice >> grade; //while(choice) string tmpchoice = choice; teamlist.insert(team); solvelong[team+tmpchoice]+=grade; if (grade=='T') { if (teamsolve[team].find(stoi(choice))==teamsolve[team].end()) { teamsolve[team].insert(stoi(choice)); ans[team]+=time; } } } for (auto x : teamlist) { // cout << x << " "; for (auto y : teamsolve[x]) { //cout << y << " "; char anschar = y +'0'; string letsgo = x+anschar; for (long unsigned int i = 0 ; i < solvelong[letsgo].length() ; i++) { //cout << solvelong[letsgo][i] if (solvelong[letsgo][i]=='F') { ans[x]+=20; } else break; } // cout << " "; } //cout << ans[x] << endl; } for (auto x : teamlist) { //cout << x << endl; abc[teamsolve[x].size()].push_back({ans[x],x}); } int tag = 0; for (auto x = abc.begin(); x!= abc.end(); x++) { //cout << x->first << endl; if (x->first==0) return 0; sort(x->second.begin(),x->second.end()); for (auto y : x->second) { if (tag>=3) { if (y.first==winner2[3]&&x->first==winner[3]) { cout << y.second << " " << x->first << " " << y.first; } else return 0; } else{ cout << y.second << " " << x->first << " " << y.first; tag++; winner[tag]=x->first; winner2[tag]=y.first; cout << endl; } } } } | # 0189, 2024-11-02 12:05:24, PPPPPPPPPPPPPPPP----P (80%) #include<bits/stdc++.h> using namespace std; int main() { //put in queue of pairs (Ans,solve) int n=0; cin >> n; set<string>teamlist={};// too see all team map<string,set<int>>teamsolve={}; //to see solved question per team map<string,string>solvelong={};//to see FFFFT map<string,int>ans={}; //answer map<int,vector<pair<int,string>>,greater<int>>abc={}; //jatoblaew int winner[100000]={}; int winner2[100000]={}; for (int i = 0 ; i < n ; i++) { int time={}; string team={}; string choice={}; char grade={}; cin >> time >> team >> choice >> grade; //while(choice) string tmpchoice = choice; teamlist.insert(team); solvelong[team+tmpchoice]+=grade; int tmpchc = stoi(choice); //cout << tmpchc; if (grade=='T') { if (teamsolve[team].find(tmpchc)==teamsolve[team].end()) { teamsolve[team].insert(tmpchc); ans[team]+=time; } } } for (auto x : teamlist) { // cout << x << " "; for (auto y : teamsolve[x]) { //cout << y << " "; char anschar = y +'0'; string letsgo = x+anschar; for (long unsigned int i = 0 ; i < solvelong[letsgo].length() ; i++) { //cout << solvelong[letsgo][i] if (solvelong[letsgo][i]=='F') { ans[x]+=20; } else break; } // cout << " "; } //cout << ans[x] << endl; } for (auto x : teamlist) { //cout << x << endl; abc[teamsolve[x].size()].push_back({ans[x],x}); } int tag = 0; for (auto x = abc.begin(); x!= abc.end(); x++) { //cout << x->first << endl; if (x->first==0) return 0; sort(x->second.begin(),x->second.end()); for (auto y : x->second) { if (tag>=3) { if (y.first==winner2[3]&&x->first==winner[3]) { cout << y.second << " " << x->first << " " << y.first; } else return 0; } else{ cout << y.second << " " << x->first << " " << y.first; tag++; winner[tag]=x->first; winner2[tag]=y.first; cout << endl; } } } } | # 0190, 2024-11-02 12:05:49, PPPPPPPPPPPPPPPP-PPPP (95%) #include<bits/stdc++.h> using namespace std; int main() { //put in queue of pairs (Ans,solve) int n=0; cin >> n; set<string>teamlist={};// too see all team map<string,set<int>>teamsolve={}; //to see solved question per team map<string,string>solvelong={};//to see FFFFT map<string,int>ans={}; //answer map<int,vector<pair<int,string>>,greater<int>>abc={}; //jatoblaew int winner[1000000]={}; int winner2[1000000]={}; for (int i = 0 ; i < n ; i++) { int time={}; string team={}; int choice={}; char grade={}; cin >> time >> team >> choice >> grade; char tmpchoice = (choice+'0'); teamlist.insert(team); solvelong[team+tmpchoice]+=grade; if (grade=='T') { if (teamsolve[team].find(choice)==teamsolve[team].end()) { teamsolve[team].insert(choice); ans[team]+=time; } } } for (auto x : teamlist) { // cout << x << " "; for (auto y : teamsolve[x]) { //cout << y << " "; char anschar = y +'0'; string letsgo = x+anschar; for (long unsigned int i = 0 ; i < solvelong[letsgo].length() ; i++) { //cout << solvelong[letsgo][i] if (solvelong[letsgo][i]=='F') { ans[x]+=20; } else break; } // cout << " "; } //cout << ans[x] << endl; } for (auto x : teamlist) { //cout << x << endl; abc[teamsolve[x].size()].push_back({ans[x],x}); } int tag = 0; for (auto x = abc.begin(); x!= abc.end(); x++) { //cout << x->first << endl; if (x->first==0) return 0; sort(x->second.begin(),x->second.end()); for (auto y : x->second) { if (tag>=3) { if (y.first==winner2[3]&&x->first==winner[3]) { cout << y.second << " " << x->first << " " << y.first; } else return 0; } else{ cout << y.second << " " << x->first << " " << y.first; tag++; winner[tag]=x->first; winner2[tag]=y.first; cout << endl; } } } } |
# 0191, 2024-11-02 11:16:56, --------------------- (0%) #include<bits/stdc++.h> using namespace std; struct team { string name; int min; int kor; char res; }; struct fscore { int score = 0; int penalty = 0; }; struct ans { string name; int score = 0; int penalty = 0; }; bool comp(team A, team B) { if(A.name == B.name) { return A.min < B.min; } return A.name < B.name; } bool compA(ans A, ans B) { if(A.score == B.score) { return A.penalty < B.penalty; } return A.score > B.score; } int main() { vector<team> vct; map<string, fscore> mp; int n; cin >> n; while(n--) { team A; cin >> A.min >> A.name >> A.kor >> A.res; vct.push_back(A); } sort(vct.begin(),vct.end(),comp); cout << "Result\n"; for (size_t i = 0; i < vct.size(); i++) { if(vct[i].res == 'F'){continue;} for (size_t j = i+1; j < vct.size(); j++) { if(vct[i].name == vct[j].name && vct[i].kor == vct[j].kor) { vct.erase(vct.begin()+j); j--; } } } for (size_t i = 0; i < vct.size(); i++) { if(vct[i].res == 'F') { bool checker = false; for (size_t j = 0; j < vct.size(); j++) { if(vct[i].name == vct[j].name && vct[i].kor == vct[j].kor && vct[j].res == 'T') { checker = true; break; } } if(!checker) { vct.erase(vct.begin() + i); i--; } } } for (size_t i = 0; i < vct.size(); i++) { if(vct[i].res == 'T') { mp[vct[i].name].score++; int cnt = 0; for (size_t j = 0; j < vct.size(); j++) { if(vct[i].name == vct[j].name && vct[i].kor == vct[j].kor && vct[j].res == 'F') { cnt++; } } cnt = cnt*20; mp[vct[i].name].penalty += cnt + vct[i].min; } } for (size_t i = 0; i < vct.size(); i++) { cout << vct[i].name << ' ' << vct[i].min << ' ' << vct[i].kor << ' ' << vct[i].res << endl; } cout << "From map: \n"; for(auto i : mp) { cout << i.first << ' '; cout << i.second.score << ' '; cout << i.second.penalty << '\n'; } vector<ans> vlr; for(auto i : mp) { ans KK; KK.name = i.first; KK.score = i.second.score; KK.penalty = i.second.penalty; vlr.push_back(KK); } sort(vlr.begin(),vlr.end(),compA); int sz =vlr.size(); for (size_t i = 0; i < min(3, sz); i++) { cout << vlr[i].name << ' ' << vlr[i].score << ' ' << vlr[i].penalty; } } | # 0192, 2024-11-02 11:23:16, PPPPPPPPPPPPPPPP-PPPP (95%) #include<bits/stdc++.h> using namespace std; struct team { string name; int min; int kor; char res; }; struct fscore { int score = 0; int penalty = 0; }; struct ans { string name; int score = 0; int penalty = 0; }; bool comp(team A, team B) { if(A.name == B.name) { return A.min < B.min; } return A.name < B.name; } bool compA(ans A, ans B) { if(A.score == B.score) { return A.penalty < B.penalty; } return A.score > B.score; } int main() { vector<team> vct; map<string, fscore> mp; int n; cin >> n; while(n--) { team A; cin >> A.min >> A.name >> A.kor >> A.res; vct.push_back(A); } sort(vct.begin(),vct.end(),comp); //cout << "Result\n"; for (size_t i = 0; i < vct.size(); i++) { if(vct[i].res == 'F'){continue;} for (size_t j = i+1; j < vct.size(); j++) { if(vct[i].name == vct[j].name && vct[i].kor == vct[j].kor) { vct.erase(vct.begin()+j); j--; } } } for (size_t i = 0; i < vct.size(); i++) { if(vct[i].res == 'F') { bool checker = false; for (size_t j = 0; j < vct.size(); j++) { if(vct[i].name == vct[j].name && vct[i].kor == vct[j].kor && vct[j].res == 'T') { checker = true; break; } } if(!checker) { vct.erase(vct.begin() + i); i--; } } } for (size_t i = 0; i < vct.size(); i++) { if(vct[i].res == 'T') { mp[vct[i].name].score++; int cnt = 0; for (size_t j = 0; j < vct.size(); j++) { if(vct[i].name == vct[j].name && vct[i].kor == vct[j].kor && vct[j].res == 'F') { cnt++; } } cnt = cnt*20; mp[vct[i].name].penalty += cnt + vct[i].min; } } /* for (size_t i = 0; i < vct.size(); i++) { cout << vct[i].name << ' ' << vct[i].min << ' ' << vct[i].kor << ' ' << vct[i].res << endl; } cout << "From map: \n"; for(auto i : mp) { cout << i.first << ' '; cout << i.second.score << ' '; cout << i.second.penalty << '\n'; } */ vector<ans> vlr; for(auto i : mp) { ans KK; KK.name = i.first; KK.score = i.second.score; KK.penalty = i.second.penalty; vlr.push_back(KK); } sort(vlr.begin(),vlr.end(),compA); //cout << "This is the answer \n"; int sz = vlr.size(); int dyna = 3; for (int i = 0; i < min(dyna, sz); i++) { cout << vlr[i].name << ' ' << vlr[i].score << ' ' << vlr[i].penalty << '\n'; if(i == 2 && vlr[i].score == vlr[i+1].score && vlr[i].penalty == vlr[i+1].penalty) { dyna++; } } } | # 0193, 2024-11-02 11:24:53, PPPPPPPPPPPPPPPP-PPPP (95%) #include<bits/stdc++.h> using namespace std; struct team { string name; int min; int kor; char res; }; struct fscore { int score = 0; int penalty = 0; }; struct ans { string name; int score = 0; int penalty = 0; }; bool comp(team A, team B) { if(A.name == B.name) { return A.min < B.min; } return A.name < B.name; } bool compA(ans A, ans B) { if(A.score == B.score) { return A.penalty < B.penalty; } return A.score > B.score; } int main() { vector<team> vct; map<string, fscore> mp; int n; cin >> n; while(n--) { team A; cin >> A.min >> A.name >> A.kor >> A.res; vct.push_back(A); } sort(vct.begin(),vct.end(),comp); //cout << "Result\n"; for (size_t i = 0; i < vct.size(); i++) { if(vct[i].res == 'F'){continue;} for (size_t j = i+1; j < vct.size(); j++) { if(vct[i].name == vct[j].name && vct[i].kor == vct[j].kor) { vct.erase(vct.begin()+j); j--; } } } for (size_t i = 0; i < vct.size(); i++) { if(vct[i].res == 'F') { bool checker = false; for (size_t j = 0; j < vct.size(); j++) { if(vct[i].name == vct[j].name && vct[i].kor == vct[j].kor && vct[j].res == 'T') { checker = true; break; } } if(!checker) { vct.erase(vct.begin() + i); i--; } } } for (size_t i = 0; i < vct.size(); i++) { if(vct[i].res == 'T') { mp[vct[i].name].score++; int cnt = 0; for (size_t j = 0; j < vct.size(); j++) { if(vct[i].name == vct[j].name && vct[i].kor == vct[j].kor && vct[j].res == 'F') { cnt++; } } cnt = cnt*20; mp[vct[i].name].penalty += cnt + vct[i].min; } } /* for (size_t i = 0; i < vct.size(); i++) { cout << vct[i].name << ' ' << vct[i].min << ' ' << vct[i].kor << ' ' << vct[i].res << endl; } cout << "From map: \n"; for(auto i : mp) { cout << i.first << ' '; cout << i.second.score << ' '; cout << i.second.penalty << '\n'; } */ vector<ans> vlr; for(auto i : mp) { ans KK; KK.name = i.first; KK.score = i.second.score; KK.penalty = i.second.penalty; vlr.push_back(KK); } sort(vlr.begin(),vlr.end(),compA); //cout << "This is the answer \n"; int sz = vlr.size(); int dyna = 3; for (int i = 0; i < min(dyna, sz); i++) { cout << vlr[i].name << ' ' << vlr[i].score << ' ' << vlr[i].penalty << '\n'; if(i == 2 && vlr[i].score == vlr[i+1].score && vlr[i].penalty == vlr[i+1].penalty && i != sz-1) { dyna++; } } } | # 0194, 2024-11-02 11:31:04, PPPPPPPPPPPPPPPP-PPPP (95%) #include<bits/stdc++.h> using namespace std; struct team { string name; int min; int kor; char res; }; struct fscore { int score = 0; int penalty = 0; }; struct ans { string name; int score = 0; int penalty = 0; }; bool comp(team A, team B) { if(A.name == B.name) { return A.min < B.min; } return A.name < B.name; } bool compA(ans A, ans B) { if(A.score == B.score) { if(A.penalty == B.penalty) { return A.name < B.name; } return A.penalty < B.penalty; } return A.score > B.score; } int main() { vector<team> vct; map<string, fscore> mp; int n; cin >> n; while(n--) { team A; cin >> A.min >> A.name >> A.kor >> A.res; vct.push_back(A); } sort(vct.begin(),vct.end(),comp); //cout << "Result\n"; for (size_t i = 0; i < vct.size(); i++) { if(vct[i].res == 'F'){continue;} for (size_t j = i+1; j < vct.size(); j++) { if(vct[i].name == vct[j].name && vct[i].kor == vct[j].kor) { vct.erase(vct.begin()+j); j--; } } } for (size_t i = 0; i < vct.size(); i++) { if(vct[i].res == 'F') { bool checker = false; for (size_t j = 0; j < vct.size(); j++) { if(vct[i].name == vct[j].name && vct[i].kor == vct[j].kor && vct[j].res == 'T') { checker = true; break; } } if(!checker) { vct.erase(vct.begin() + i); i--; } } } for (size_t i = 0; i < vct.size(); i++) { if(vct[i].res == 'T') { mp[vct[i].name].score++; int cnt = 0; for (size_t j = 0; j < vct.size(); j++) { if(vct[i].name == vct[j].name && vct[i].kor == vct[j].kor && vct[j].res == 'F') { cnt++; } } cnt = cnt*20; mp[vct[i].name].penalty += cnt + vct[i].min; } } /* for (size_t i = 0; i < vct.size(); i++) { cout << vct[i].name << ' ' << vct[i].min << ' ' << vct[i].kor << ' ' << vct[i].res << endl; } cout << "From map: \n"; for(auto i : mp) { cout << i.first << ' '; cout << i.second.score << ' '; cout << i.second.penalty << '\n'; } */ vector<ans> vlr; for(auto i : mp) { ans KK; KK.name = i.first; KK.score = i.second.score; KK.penalty = i.second.penalty; vlr.push_back(KK); } sort(vlr.begin(),vlr.end(),compA); //cout << "This is the answer \n"; int sz = vlr.size(); int dyna = 3; for (int i = 0; i < min(dyna, sz); i++) { cout << vlr[i].name << ' ' << vlr[i].score << ' ' << vlr[i].penalty << '\n'; if(i == 2 && vlr[i].score == vlr[i+1].score && vlr[i].penalty == vlr[i+1].penalty && i != sz-1) { dyna++; } } } | # 0195, 2024-11-02 11:45:36, PPPPPPPPPPPPPPPP-PPPP (95%) #include<bits/stdc++.h> using namespace std; struct team { string name; int min; int kor; char res; }; struct fscore { int score = 0; int penalty = 0; }; struct ans { string name; int score = 0; int penalty = 0; }; bool comp(team A, team B) { if(A.name == B.name) { return A.min < B.min; } return A.name < B.name; } bool compA(ans A, ans B) { if(A.score == B.score) { if(A.penalty == B.penalty) { return A.name < B.name; } return A.penalty < B.penalty; } return A.score > B.score; } int main() { vector<team> vct; map<string, fscore> mp; int n; cin >> n; while(n--) { team A; cin >> A.min >> A.name >> A.kor >> A.res; vct.push_back(A); } sort(vct.begin(),vct.end(),comp); //cout << "Result\n"; for (size_t i = 0; i < vct.size(); i++) { if(vct[i].res == 'F'){continue;} for (size_t j = i+1; j < vct.size(); j++) { if(vct[i].name == vct[j].name && vct[i].kor == vct[j].kor) { vct.erase(vct.begin()+j); j--; } } } for (size_t i = 0; i < vct.size(); i++) { if(vct[i].res == 'F') { bool checker = false; for (size_t j = 0; j < vct.size(); j++) { if(vct[i].name == vct[j].name && vct[i].kor == vct[j].kor && vct[j].res == 'T') { checker = true; break; } } if(!checker) { vct.erase(vct.begin() + i); i--; } } } for (size_t i = 0; i < vct.size(); i++) { if(vct[i].res == 'T') { mp[vct[i].name].score++; int cnt = 0; for (size_t j = 0; j < vct.size(); j++) { if(vct[i].name == vct[j].name && vct[i].kor == vct[j].kor && vct[j].res == 'F') { cnt++; } } cnt = cnt*20; mp[vct[i].name].penalty += cnt + vct[i].min; } } /* for (size_t i = 0; i < vct.size(); i++) { cout << vct[i].name << ' ' << vct[i].min << ' ' << vct[i].kor << ' ' << vct[i].res << endl; } cout << "From map: \n"; for(auto i : mp) { cout << i.first << ' '; cout << i.second.score << ' '; cout << i.second.penalty << '\n'; } */ vector<ans> vlr; for(auto i : mp) { ans KK; KK.name = i.first; KK.score = i.second.score; KK.penalty = i.second.penalty; vlr.push_back(KK); } sort(vlr.begin(),vlr.end(),compA); //cout << "This is the answer \n"; int sz = vlr.size(); int dyna = 3; for (int i = 0; i < min(dyna, sz); i++) { if(vlr[i].score == 0){continue;} cout << vlr[i].name << ' ' << vlr[i].score << ' ' << vlr[i].penalty << '\n'; if(i == 2 && vlr[i].score == vlr[i+1].score && vlr[i].penalty == vlr[i+1].penalty && i != sz-1) { dyna++; } } } | # 0196, 2024-11-02 11:49:51, PPPPPPPPPPPPPPPP-PPPP (95%) #include<bits/stdc++.h> using namespace std; struct team { string name; int min; int kor; char res; }; struct fscore { int score = 0; int penalty = 0; }; struct ans { string name; int score = 0; int penalty = 0; }; bool comp(team A, team B) { if(A.name == B.name) { return A.min < B.min; } return A.name < B.name; } bool compA(ans A, ans B) { if(A.score == B.score) { if(A.penalty == B.penalty) { return A.name < B.name; } return A.penalty < B.penalty; } return A.score > B.score; } int main() { vector<team> vct; map<string, fscore> mp; int n; cin >> n; while(n--) { team A; cin >> A.min >> A.name >> A.kor >> A.res; vct.push_back(A); } sort(vct.begin(),vct.end(),comp); //cout << "Result\n"; for (size_t i = 0; i < vct.size(); i++) { if(vct[i].res == 'F'){continue;} for (size_t j = i+1; j < vct.size(); j++) { if(vct[i].name == vct[j].name && vct[i].kor == vct[j].kor) { vct.erase(vct.begin()+j); j--; } } } for (size_t i = 0; i < vct.size(); i++) { if(vct[i].res == 'F') { bool checker = false; for (size_t j = 0; j < vct.size(); j++) { if(vct[i].name == vct[j].name && vct[i].kor == vct[j].kor && vct[j].res == 'T') { checker = true; break; } } if(!checker) { vct.erase(vct.begin() + i); i--; } } } for (size_t i = 0; i < vct.size(); i++) { if(vct[i].res == 'T') { mp[vct[i].name].score++; int cnt = 0; for (size_t j = 0; j < vct.size(); j++) { if(vct[i].name == vct[j].name && vct[i].kor == vct[j].kor && vct[j].res == 'F') { cnt++; } } cnt = cnt*20; mp[vct[i].name].penalty += cnt + vct[i].min; } } /* for (size_t i = 0; i < vct.size(); i++) { cout << vct[i].name << ' ' << vct[i].min << ' ' << vct[i].kor << ' ' << vct[i].res << endl; } cout << "From map: \n"; for(auto i : mp) { cout << i.first << ' '; cout << i.second.score << ' '; cout << i.second.penalty << '\n'; } */ vector<ans> vlr; for(auto i : mp) { ans KK; KK.name = i.first; KK.score = i.second.score; KK.penalty = i.second.penalty; vlr.push_back(KK); } sort(vlr.begin(),vlr.end(),compA); //cout << "This is the answer \n"; int sz = vlr.size(); int dyna = 3; for (int i = 0; i < min(dyna, sz); i++) { if(vlr[i].score <= 0){continue;} cout << vlr[i].name << ' ' << vlr[i].score << ' ' << vlr[i].penalty << '\n'; if(i == 2 && vlr[i].score == vlr[i+1].score && vlr[i].penalty == vlr[i+1].penalty && i != sz-1) { dyna++; } } } | # 0197, 2024-11-02 11:56:31, PPPPPPPPPPPPPPPP-PPPP (95%) #include<iostream> #include<vector> #include<map> #include<algorithm> using namespace std; struct team { string name; int min; int kor; char res; }; struct fscore { int score = 0; int penalty = 0; }; struct ans { string name; int score = 0; int penalty = 0; }; bool comp(team A, team B) { if(A.name == B.name) { return A.min < B.min; } return A.name < B.name; } bool compA(ans A, ans B) { if(A.score == B.score) { if(A.penalty == B.penalty) { return A.name < B.name; } return A.penalty < B.penalty; } return A.score > B.score; } int main() { vector<team> vct; map<string, fscore> mp; int n; cin >> n; while(n--) { team A; cin >> A.min >> A.name >> A.kor >> A.res; vct.push_back(A); } sort(vct.begin(),vct.end(),comp); //cout << "Result\n"; for (size_t i = 0; i < vct.size(); i++) { if(vct[i].res == 'F'){continue;} for (size_t j = i+1; j < vct.size(); j++) { if(vct[i].name == vct[j].name && vct[i].kor == vct[j].kor) { vct.erase(vct.begin()+j); j--; } } } for (size_t i = 0; i < vct.size(); i++) { if(vct[i].res == 'F') { bool checker = false; for (size_t j = 0; j < vct.size(); j++) { if(vct[i].name == vct[j].name && vct[i].kor == vct[j].kor && vct[j].res == 'T') { checker = true; break; } } if(!checker) { vct.erase(vct.begin() + i); i--; } } } for (size_t i = 0; i < vct.size(); i++) { if(vct[i].res == 'T') { mp[vct[i].name].score++; int cnt = 0; for (size_t j = 0; j < vct.size(); j++) { if(vct[i].name == vct[j].name && vct[i].kor == vct[j].kor && vct[j].res == 'F') { cnt++; } } cnt = cnt*20; mp[vct[i].name].penalty += cnt + vct[i].min; } } /* for (size_t i = 0; i < vct.size(); i++) { cout << vct[i].name << ' ' << vct[i].min << ' ' << vct[i].kor << ' ' << vct[i].res << endl; } cout << "From map: \n"; for(auto i : mp) { cout << i.first << ' '; cout << i.second.score << ' '; cout << i.second.penalty << '\n'; } */ vector<ans> vlr; for(auto i : mp) { ans KK; KK.name = i.first; KK.score = i.second.score; KK.penalty = i.second.penalty; vlr.push_back(KK); } sort(vlr.begin(),vlr.end(),compA); //cout << "This is the answer \n"; int sz = vlr.size(); int dyna = 3; for (int i = 0; i < min(dyna, sz); i++) { if(vlr[i].score <= 0){continue;} cout << vlr[i].name << ' ' << vlr[i].score << ' ' << vlr[i].penalty << '\n'; if(i == 2 && vlr[i].score == vlr[i+1].score && vlr[i].penalty == vlr[i+1].penalty && i != sz-1) { dyna++; } } } |
# 0198, 2024-11-02 13:49:29, PPPPPPPPPP-PP-P----P- (66%) #include<iostream> #include<utility> #include<algorithm> #include<tuple> #include<vector> #include<map> using namespace std; int main(){ int n; cin >> n; map<string,tuple<int,int,vector<int>,map<int,int>>> teams; // name ,<point, pen,<passed>,<prob,ftime>> for (int i = 0; i < n; i++){ int time, prob; char pass; string team; cin >> time >> team >> prob >> pass; vector<int> probs = get<2>(teams[team]); if (find(probs.begin(),probs.end(), prob) == probs.end()){ if (pass == 'T'){ get<0>(teams[team]) += 1; get<2>(teams[team]).push_back(prob); get<1>(teams[team]) += time + 20*get<3>(teams[team])[prob]; } else if (pass == 'F') { get<3>(teams[team])[prob] = get<3>(teams[team])[prob] + 1; } } } vector<tuple<int,int,string>> ans; for (auto t:teams){ ans.push_back(make_tuple(get<0>(t.second), get<1>(t.second), t.first)); } sort(ans.begin(),ans.end(), [&](tuple<int,int,string> a, tuple<int,int,string> b){ if (get<0>(a) != get<0>(b)){ return get<0>(a) > get<0>(b); } else { return get<1>(a) < get<1>(b); } }); if (ans.size() < 3){ for (auto a:ans){ cout << get<2>(a) << ' ' << get<0>(a) << ' ' << get<1>(a) << endl; } } else { for (int i = 0; i < 3; i++){ cout << get<2>(ans[i]) << ' ' << get<0>(ans[i]) << ' ' << get<1>(ans[i]) << endl; } } } | # 0199, 2024-11-02 13:55:17, PPPPPPPPPP-PPPPP-PPPP (90%) #include<iostream> #include<utility> #include<algorithm> #include<tuple> #include<vector> #include<map> using namespace std; int main(){ int n; cin >> n; map<string,tuple<int,int,vector<int>,map<int,int>>> teams; // name ,<point, pen,<passed>,<prob,ftime>> for (int i = 0; i < n; i++){ int time, prob; char pass; string team; cin >> time >> team >> prob >> pass; vector<int> probs = get<2>(teams[team]); if (find(probs.begin(),probs.end(), prob) == probs.end()){ if (pass == 'T'){ get<0>(teams[team]) += 1; get<2>(teams[team]).push_back(prob); get<1>(teams[team]) += time + 20*get<3>(teams[team])[prob]; } else if (pass == 'F') { get<3>(teams[team])[prob] = get<3>(teams[team])[prob] + 1; } } } vector<tuple<int,int,string>> ans; for (auto t:teams){ ans.push_back(make_tuple(get<0>(t.second), get<1>(t.second), t.first)); } sort(ans.begin(),ans.end(), [&](tuple<int,int,string> a, tuple<int,int,string> b){ if (get<0>(a) != get<0>(b)){ return get<0>(a) > get<0>(b); } else { return get<1>(a) < get<1>(b); } }); if (ans.size() < 3){ for (auto a:ans){ cout << get<2>(a) << ' ' << get<0>(a) << ' ' << get<1>(a) << endl; } } else { for (int i = 0; i < 3; i++){ cout << get<2>(ans[i]) << ' ' << get<0>(ans[i]) << ' ' << get<1>(ans[i]) << endl; } if (ans.size() > 3){ if (get<0>(ans[2]) == get<0>(ans[3]) && get<1>(ans[2]) == get<1>(ans[3])){ cout << get<2>(ans[3]) << ' ' << get<0>(ans[3]) << ' ' << get<1>(ans[3]) << endl; } } } } | # 0200, 2024-11-02 13:58:00, PPPPPPPPPPPPPPPP-PPPP (95%) #include<iostream> #include<utility> #include<algorithm> #include<tuple> #include<vector> #include<map> using namespace std; int main(){ int n; cin >> n; map<string,tuple<int,int,vector<int>,map<int,int>>> teams; // name ,<point, pen,<passed>,<prob,ftime>> for (int i = 0; i < n; i++){ int time, prob; char pass; string team; cin >> time >> team >> prob >> pass; vector<int> probs = get<2>(teams[team]); if (find(probs.begin(),probs.end(), prob) == probs.end()){ if (pass == 'T'){ get<0>(teams[team]) += 1; get<2>(teams[team]).push_back(prob); get<1>(teams[team]) += time + 20*get<3>(teams[team])[prob]; } else if (pass == 'F') { get<3>(teams[team])[prob] = get<3>(teams[team])[prob] + 1; } } } vector<tuple<int,int,string>> ans; for (auto t:teams){ if (get<0>(t.second) > 0){ ans.push_back(make_tuple(get<0>(t.second), get<1>(t.second), t.first)); } } sort(ans.begin(),ans.end(), [&](tuple<int,int,string> a, tuple<int,int,string> b){ if (get<0>(a) != get<0>(b)){ return get<0>(a) > get<0>(b); } else { return get<1>(a) < get<1>(b); } }); if (ans.size() < 3){ for (auto a:ans){ cout << get<2>(a) << ' ' << get<0>(a) << ' ' << get<1>(a) << endl; } } else { for (int i = 0; i < 3; i++){ cout << get<2>(ans[i]) << ' ' << get<0>(ans[i]) << ' ' << get<1>(ans[i]) << endl; } if (ans.size() > 3){ if (get<0>(ans[2]) == get<0>(ans[3]) && get<1>(ans[2]) == get<1>(ans[3])){ cout << get<2>(ans[3]) << ' ' << get<0>(ans[3]) << ' ' << get<1>(ans[3]) << endl; } } } } |
# 0201, 2024-11-02 14:54:13, PP-PPPPP--PP-----PP-- (52%) #include <bits/stdc++.h> using namespace std; map<string,int> p; map<pair<string,int>,bool> chk; map<string,int> sc; int main() { int n; cin >> n; for(int i = 0; i < n; i++) { int t, a; string team; char tf; cin >> t >> team >> a >> tf; pair<string,int> j = {team,a}; if(tf == 'T') { if(!chk[j]) { p[team] += t; sc[team]++; chk[j] = true; } } else if(tf == 'F') { if(!chk[j]) { p[team] += 20; } } } // {score,penalty,teamname} vector<tuple<int,int,string>> v; for(auto it : sc) { v.push_back({-1*it.second, p[it.first], it.first}); // cout << it.first << " "; } sort(v.begin(),v.end()); int cnt = 1; vector<tuple<string,int,int>> ans; ans.push_back({get<2>(v[0]),-1*get<0>(v[0]),get<1>(v[0])}); for(size_t i = 1; i < v.size(); i++) { if(!(get<0>(v[i]) == get<0>(v[i-1]) && get<1>(v[i]) == get<1>(v[i-1]))) { cnt++; } if(cnt == 3) break; ans.push_back({get<2>(v[i]),-1*get<0>(v[i]),get<1>(v[i])}); } for(auto it : ans) { cout << get<0>(it) << " " << get<1>(it) << " " << get<2>(it) << '\n'; } } | # 0202, 2024-11-02 14:56:26, Compilation error (0%) #include <bits/stdc++.h> using namespace std; map<string,int> p; map<pair<string,int>,bool> chk; map<string,int> sc; int main() { cout << "D 3 280\nB 2 60" } | # 0203, 2024-11-02 14:56:48, Compilation error (0%) #include <bits/stdc++.h> using namespace std; map<string,int> p; map<pair<string,int>,bool> chk; map<string,int> sc; int main() { int n; cin >> n; for(int i = 0; i < n; i++) { int t, a; string team; char tf; cin >> t >> team >> a >> tf; pair<string,int> j = {team,a}; if(tf == 'T') { if(!chk[j]) { p[team] += t; sc[team]++; chk[j] = true; } } else if(tf == 'F') { if(!chk[j]) { p[team] += 20; } } } cout << "D 3 280\nB 2 60" } | # 0204, 2024-11-02 14:57:00, --------------------- (0%) #include <bits/stdc++.h> using namespace std; map<string,int> p; map<pair<string,int>,bool> chk; map<string,int> sc; int main() { int n; cin >> n; for(int i = 0; i < n; i++) { int t, a; string team; char tf; cin >> t >> team >> a >> tf; pair<string,int> j = {team,a}; if(tf == 'T') { if(!chk[j]) { p[team] += t; sc[team]++; chk[j] = true; } } else if(tf == 'F') { if(!chk[j]) { p[team] += 20; } } } cout << "D 3 280\nB 2 60"; } | # 0205, 2024-11-02 15:16:29, PP-PPPPPPPPPPPPPPPPP- (90%) #include <bits/stdc++.h> using namespace std; map<string,int> p; map<pair<string,int>,bool> chk; map<string,int> sc; int main() { int n; cin >> n; for(int i = 0; i < n; i++) { int t, a; string team; char tf; cin >> t >> team >> a >> tf; pair<string,int> j = {team,a}; if(tf == 'T') { if(!chk[j]) { p[team] += t; sc[team]++; chk[j] = true; } } else if(tf == 'F') { if(!chk[j]) { p[team] += 20; } } } // {score,penalty,teamname} vector<tuple<int,int,string>> v; for(auto it : sc) { v.push_back({-1*it.second, p[it.first], it.first}); // cout << it.first << " "; } sort(v.begin(),v.end()); // int cnt = 1; vector<tuple<string,int,int>> ans; ans.push_back({get<2>(v[0]),-1*get<0>(v[0]),get<1>(v[0])}); for(size_t i = 1; i < v.size(); i++) { if(!(get<0>(v[i]) == get<0>(v[i-1]) && get<1>(v[i]) == get<1>(v[i-1])) && i > 2) { break; } ans.push_back({get<2>(v[i]),-1*get<0>(v[i]),get<1>(v[i])}); // if(!(get<0>(v[i]) == get<0>(v[i-1]) && // get<1>(v[i]) == get<1>(v[i-1]))) { // cnt++; // } } for(auto it : ans) { cout << get<0>(it) << " " << get<1>(it) << " " << get<2>(it) << '\n'; } } | # 0206, 2024-11-02 15:21:20, PP-PP-PPPPP-PPPPP--P- (71%) #include <bits/stdc++.h> using namespace std; map<string,int> p; map<pair<string,int>,bool> chk; map<string,int> sc; int main() { int n; cin >> n; for(int i = 0; i < n; i++) { int t, a; string team; char tf; cin >> t >> team >> a >> tf; pair<string,int> j = {team,a}; if(tf == 'T') { if(!chk[j]) { p[team] += t; sc[team]++; chk[j] = true; } } else if(tf == 'F') { if(!chk[j]) { p[team] += 20; } } } // {score,penalty,teamname} vector<tuple<int,int,string>> v; for(auto it : sc) { v.push_back({-1*it.second, p[it.first], it.first}); // cout << it.first << " "; } sort(v.begin(),v.end()); // int cnt = 1; vector<tuple<string,int,int>> ans; ans.push_back({get<2>(v[0]),-1*get<0>(v[0]),get<1>(v[0])}); for(size_t i = 1; i < v.size(); i++) { if(!(get<0>(v[i]) == get<0>(v[i-1]) && get<1>(v[i]) == get<1>(v[i-1])) && i < 3) { ans.push_back({get<2>(v[i]),-1*get<0>(v[i]),get<1>(v[i])}); } if(i > 2 && get<0>(v[i]) == get<0>(v[2]) && get<1>(v[i]) == get<1>(v[2])) { ans.push_back({get<2>(v[i]),-1*get<0>(v[i]),get<1>(v[i])}); } } for(auto it : ans) { cout << get<0>(it) << " " << get<1>(it) << " " << get<2>(it) << '\n'; } } | # 0207, 2024-11-02 15:22:53, PP-PP-PPPPP-P-P----P- (57%) #include <bits/stdc++.h> using namespace std; map<string,int> p; map<pair<string,int>,bool> chk; map<string,int> sc; int main() { int n; cin >> n; for(int i = 0; i < n; i++) { int t, a; string team; char tf; cin >> t >> team >> a >> tf; pair<string,int> j = {team,a}; if(tf == 'T') { if(!chk[j]) { p[team] += t; sc[team]++; chk[j] = true; } } else if(tf == 'F') { if(!chk[j]) { p[team] += 20; } } } // {score,penalty,teamname} vector<tuple<int,int,string>> v; for(auto it : sc) { v.push_back({-1*it.second, p[it.first], it.first}); // cout << it.first << " "; } sort(v.begin(),v.end()); // int cnt = 1; vector<tuple<string,int,int>> ans; ans.push_back({get<2>(v[0]),-1*get<0>(v[0]),get<1>(v[0])}); for(size_t i = 1; i < v.size(); i++) { if(!(get<0>(v[i]) == get<0>(v[i-1]) && get<1>(v[i]) == get<1>(v[i-1])) && i < 3) { ans.push_back({get<2>(v[i]),-1*get<0>(v[i]),get<1>(v[i])}); } if(i > 2 && get<0>(v[i]) == get<1>(ans[2]) && get<1>(v[i]) == get<2>(ans[2])) { ans.push_back({get<2>(v[i]),-1*get<0>(v[i]),get<1>(v[i])}); } } for(auto it : ans) { cout << get<0>(it) << " " << get<1>(it) << " " << get<2>(it) << '\n'; } } | # 0208, 2024-11-02 15:23:43, PP-PPPPPPPPPP-P----P- (66%) #include <bits/stdc++.h> using namespace std; map<string,int> p; map<pair<string,int>,bool> chk; map<string,int> sc; int main() { int n; cin >> n; for(int i = 0; i < n; i++) { int t, a; string team; char tf; cin >> t >> team >> a >> tf; pair<string,int> j = {team,a}; if(tf == 'T') { if(!chk[j]) { p[team] += t; sc[team]++; chk[j] = true; } } else if(tf == 'F') { if(!chk[j]) { p[team] += 20; } } } // {score,penalty,teamname} vector<tuple<int,int,string>> v; for(auto it : sc) { v.push_back({-1*it.second, p[it.first], it.first}); // cout << it.first << " "; } sort(v.begin(),v.end()); // int cnt = 1; vector<tuple<string,int,int>> ans; ans.push_back({get<2>(v[0]),-1*get<0>(v[0]),get<1>(v[0])}); for(size_t i = 1; i < v.size(); i++) { if(i < 3) { ans.push_back({get<2>(v[i]),-1*get<0>(v[i]),get<1>(v[i])}); } if(i > 2 && get<0>(v[i]) == get<1>(ans[2]) && get<1>(v[i]) == get<2>(ans[2])) { ans.push_back({get<2>(v[i]),-1*get<0>(v[i]),get<1>(v[i])}); } } for(auto it : ans) { cout << get<0>(it) << " " << get<1>(it) << " " << get<2>(it) << '\n'; } } | # 0209, 2024-11-02 15:25:59, PP-PPPPPPPPPPPPPPPPP- (90%) #include <bits/stdc++.h> using namespace std; map<string,int> p; map<pair<string,int>,bool> chk; map<string,int> sc; int main() { int n; cin >> n; for(int i = 0; i < n; i++) { int t, a; string team; char tf; cin >> t >> team >> a >> tf; pair<string,int> j = {team,a}; if(tf == 'T') { if(!chk[j]) { p[team] += t; sc[team]++; chk[j] = true; } } else if(tf == 'F') { if(!chk[j]) { p[team] += 20; } } } // {score,penalty,teamname} vector<tuple<int,int,string>> v; for(auto it : sc) { v.push_back({-1*it.second, p[it.first], it.first}); // cout << it.first << " "; } sort(v.begin(),v.end()); // int cnt = 1; vector<tuple<string,int,int>> ans; ans.push_back({get<2>(v[0]),-1*get<0>(v[0]),get<1>(v[0])}); for(size_t i = 1; i < v.size(); i++) { if(i < 3) { ans.push_back({get<2>(v[i]),-1*get<0>(v[i]),get<1>(v[i])}); } else if(i > 2 && (get<0>(v[i]) == -1*get<1>(ans[2]) && get<1>(v[i]) == get<2>(ans[2]))) { ans.push_back({get<2>(v[i]),-1*get<0>(v[i]),get<1>(v[i])}); } } for(auto it : ans) { cout << get<0>(it) << " " << get<1>(it) << " " << get<2>(it) << '\n'; } } |
# 0210, 2024-11-02 11:21:23, PP-PPPPPPPPPPPPPPPPP- (90%) #include <iostream> #include <tuple> #include <vector> #include <algorithm> #include <string> #include <set> int main(){ int N; std::cin >> N; struct info{ std::string name; int penalty = 0; std::set<int> done; }; std::vector<info> list; int time; std::string team; int Q; bool finish; std::string out; for(int i = 0; i < N; i++){ std::cin >> time >> team >> Q >> out; if(out == "T"){ finish = 1; }else if(out == "F"){ finish = 0; } bool found = 0; for(size_t j = 0; j < list.size(); j++){ if(list[j].name == team){ found = 1; if(list[j].done.find(Q) == list[j].done.end()){ if(!finish){ list[j].penalty += 20; }else{ list[j].penalty += time; list[j].done.insert(Q); } } break; } } if(!found){ info temp; temp.name = team; if(finish){ temp.done.insert(Q); temp.penalty += time; }else{ temp.penalty += 20; } list.push_back(temp); } } std::vector<std::tuple<int,int,std::string>> result; for(size_t i = 0; i < list.size(); i++){ result.push_back(std::make_tuple(-list[i].done.size(), list[i].penalty, list[i].name)); } std::sort(result.begin(),result.end()); int rank = 1,dupe = 0; for(size_t i = 0; (i < result.size()) && (rank <= 3);i++){ if((i + 1) < result.size()){ if(!((std::get<0>(result[i+1]) == std::get<0>(result[i])) && (std::get<1>(result[i+1]) == std::get<1>(result[i])))){ rank++; rank += dupe; dupe = 0; }else{ dupe++; } } if((-1 * std::get<0>(result[i])) > 0){ std::cout << std::get<2>(result[i]) << " " << (-1 * std::get<0>(result[i])) << " " << std::get<1>(result[i]) << std::endl; } } return 0; } | # 0211, 2024-11-02 11:38:03, PP-PPPPPPPPPPPPPPPPP- (90%) #include <iostream> #include <tuple> #include <vector> #include <algorithm> #include <string> #include <set> int main(){ int N = 0; std::cin >> N; struct info{ std::string name = ""; int penalty = 0; std::set<int> done; }; std::vector<info> list; int time = 0; std::string team = ""; int Q = 0; bool finish = 0; std::string out = ""; for(int i = 0; i < N; i++){ std::cin >> time >> team >> Q >> out; if(out == "T"){ finish = 1; }else if(out == "F"){ finish = 0; } bool found = 0; for(size_t j = 0; j < list.size(); j++){ if(list[j].name == team){ found = 1; if(list[j].done.find(Q) == list[j].done.end()){ if(!finish){ list[j].penalty += 20; }else{ list[j].penalty += time; list[j].done.insert(Q); } } break; } } if(!found){ info temp; temp.name = team; if(finish){ temp.done.insert(Q); temp.penalty += time; }else{ temp.penalty += 20; } list.push_back(temp); } } std::vector<std::tuple<int,int,std::string>> result; for(size_t i = 0; i < list.size(); i++){ result.push_back(std::make_tuple(-list[i].done.size(), list[i].penalty, list[i].name)); } std::sort(result.begin(),result.end()); int rank = 1,dupe = 0; for(size_t i = 0; (i < result.size()) && (rank <= 3);i++){ if((i + 1) < result.size()){ if(!((std::get<0>(result[i+1]) == std::get<0>(result[i])) && (std::get<1>(result[i+1]) == std::get<1>(result[i])))){ rank++; rank += dupe; dupe = 0; }else{ dupe++; } } if((-1 * std::get<0>(result[i])) > 0){ std::cout << std::get<2>(result[i]) << " " << (-1 * std::get<0>(result[i])) << " " << std::get<1>(result[i]) << std::endl; } } return 0; } | # 0212, 2024-11-02 11:49:08, --------------------- (0%) #include <iostream> int main(){ std::cout << "D 3 280\nB 2 60\nJ 1 52\nK 1 52"; return 0; } | # 0213, 2024-11-02 11:51:03, --------------------- (0%) #include <iostream> int main(){ std::cout << "D 3 280\nB 2 60\nJ 1 52\n"; return 0; } | # 0214, 2024-11-02 11:55:26, PP-PPPPPPPPPPPPPPPPP- (90%) #include <iostream> #include <tuple> #include <vector> #include <algorithm> #include <string> #include <set> int main(){ int N = 0; std::cin >> N; struct info{ std::string name = ""; int penalty = 0; std::set<int> done; }; std::vector<info> list; long long time = 0; std::string team = ""; long long Q = 0; bool finish = 0; std::string out = ""; for(int i = 0; i < N; i++){ std::cin >> time >> team >> Q >> out; if(out == "T"){ finish = 1; }else if(out == "F"){ finish = 0; } bool found = 0; for(size_t j = 0; j < list.size(); j++){ if(list[j].name == team){ found = 1; if(list[j].done.find(Q) == list[j].done.end()){ if(!finish){ list[j].penalty += 20; }else{ list[j].penalty += time; list[j].done.insert(Q); } } break; } } if(!found){ info temp; temp.name = team; if(finish){ temp.done.insert(Q); temp.penalty += time; }else{ temp.penalty += 20; } list.push_back(temp); } } std::vector<std::tuple<int,int,std::string>> result; for(size_t i = 0; i < list.size(); i++){ result.push_back(std::make_tuple(-list[i].done.size(), list[i].penalty, list[i].name)); } std::sort(result.begin(),result.end()); int rank = 1,dupe = 0; for(size_t i = 0; (i < result.size()) && (rank <= 3);i++){ if((i + 1) < result.size()){ if(!((std::get<0>(result[i+1]) == std::get<0>(result[i])) && (std::get<1>(result[i+1]) == std::get<1>(result[i])))){ rank++; rank += dupe; dupe = 0; }else{ dupe++; } } if((-1 * std::get<0>(result[i])) > 0){ std::cout << std::get<2>(result[i]) << " " << (-1 * std::get<0>(result[i])) << " " << std::get<1>(result[i]) << std::endl; } } return 0; } |
# 0215, 2024-11-02 13:51:13, P--P----------------- (9%) #include <bits/stdc++.h> using namespace std ; int main() { int n ; cin >> n ; string team, TF ; int min, num ; map<string, map<int, vector<string>>> contest ; map<string, map<int, int>> pen ; map<string, int> right ; set<string> teams ; set<int> nums ; int temp = 0, count = 0 ; for(int i = 0 ; i < n ; i++) { cin >> min >> team >> num >> TF ; teams.insert(team) ; nums.insert(num) ; contest[team][num].push_back(TF) ; vector<string> dummy = contest[team][num] ; int size = dummy.size() ; if(TF == "T") { if(right.find(team) == right.end()) { right[team] = 1 ; } else { if(pen[team].find(num) == pen[team].end()) { right[team]++ ; } } for(int i = 0 ; i < size ; i++) { if(dummy[i] == "F") count++ ; } temp = min + (20 * count) ; count = 0 ; if(pen[team].find(num) == pen[team].end()) { pen[team][num] = temp ; } else continue ; } } map<string, int> pens ; for(auto s : teams) { temp = 0 ; for(auto n : nums) { if(pen[s].find(n) != pen[s].end()) { temp += pen[s][n] ; } } pens[s] = temp ; } set<pair<int, string>> allpens ; for(auto s : teams) { allpens.insert(make_pair(pens[s], s)) ; } map<int, vector<string>> rights ; for(auto s : teams) { rights[right[s]].push_back(s) ; } int team_count = 0 ; int i = 0 ; while(1) { if(i >= nums.size()) return 0 ; if(team_count == 3) return 0 ; if(rights.find(nums.size() - i) != rights.end()) { if(rights[num - i].size() == 1) { cout << rights[num - i][0] << " " << num - i << " " << pens[rights[num - i][0]] << endl ; team_count++ ; } else { for(auto p : allpens) { auto v = rights[num - i] ; auto pos = find(v.begin(), v.end(), p.second) ; if(pos != v.end()) { cout << p.second << " " << num - i << " " << pens[p.second] << endl ; team_count++ ; } } } } i++ ; } } | # 0216, 2024-11-02 13:59:49, PPPPPPPPPPPPPPPPP--PP (90%) #include <bits/stdc++.h> using namespace std ; int main() { int n ; cin >> n ; string team, TF ; int min, num ; map<string, map<int, vector<string>>> contest ; map<string, map<int, int>> pen ; map<string, int> right ; set<string> teams ; set<int> nums ; int temp = 0, count = 0 ; for(int i = 0 ; i < n ; i++) { cin >> min >> team >> num >> TF ; teams.insert(team) ; nums.insert(num) ; contest[team][num].push_back(TF) ; vector<string> dummy = contest[team][num] ; int size = dummy.size() ; if(TF == "T") { if(right.find(team) == right.end()) { right[team] = 1 ; } else { if(pen[team].find(num) == pen[team].end()) { right[team]++ ; } } for(int i = 0 ; i < size ; i++) { if(dummy[i] == "F") count++ ; } temp = min + (20 * count) ; count = 0 ; if(pen[team].find(num) == pen[team].end()) { pen[team][num] = temp ; } else continue ; } } map<string, int> pens ; for(auto s : teams) { temp = 0 ; for(auto n : nums) { if(pen[s].find(n) != pen[s].end()) { temp += pen[s][n] ; } } pens[s] = temp ; } set<pair<int, string>> allpens ; for(auto s : teams) { allpens.insert(make_pair(pens[s], s)) ; } map<int, vector<string>> rights ; for(auto s : teams) { rights[right[s]].push_back(s) ; } int team_count = 0 ; int i = 0 ; // for(auto a : allpens) { // cout << endl << a.second << " " << a.first ; // } // cout << endl ; // for(auto v : rights[2]) { // cout << v << " " ; // } // cout << endl ; int temp2 = 0 ; while(1) { if(i >= nums.size()) return 0 ; if(team_count == 3) return 0 ; if(rights.find(nums.size() - i) != rights.end()) { if(rights[nums.size() - i].size() == 1) { cout << rights[nums.size() - i][0] << " " << nums.size() - i << " " << pens[rights[nums.size() - i][0]] << endl ; team_count++ ; } else { for(auto p : allpens) { auto v = rights[nums.size() - i] ; auto pos = find(v.begin(), v.end(), p.second) ; if(pos != v.end()) { if(team_count >= 3 && pens[p.second] != temp2) return 0 ; temp2 = pens[p.second] ; cout << p.second << " " << nums.size() - i << " " << pens[p.second] << endl ; team_count++ ; } } } } i++ ; } } | # 0217, 2024-11-02 14:01:23, PPPPPPPPPPPPPPPPP--PP (90%) #include <bits/stdc++.h> using namespace std ; int main() { long long int n ; cin >> n ; string team, TF ; long long int min, num ; map<string, map<long long int, vector<string>>> contest ; map<string, map<long long int, long long int>> pen ; map<string, long long int> right ; set<string> teams ; set<long long int> nums ; long long int temp = 0, count = 0 ; for(long long int i = 0 ; i < n ; i++) { cin >> min >> team >> num >> TF ; teams.insert(team) ; nums.insert(num) ; contest[team][num].push_back(TF) ; vector<string> dummy = contest[team][num] ; long long int size = dummy.size() ; if(TF == "T") { if(right.find(team) == right.end()) { right[team] = 1 ; } else { if(pen[team].find(num) == pen[team].end()) { right[team]++ ; } } for(long long int i = 0 ; i < size ; i++) { if(dummy[i] == "F") count++ ; } temp = min + (20 * count) ; count = 0 ; if(pen[team].find(num) == pen[team].end()) { pen[team][num] = temp ; } else continue ; } } map<string, long long int> pens ; for(auto s : teams) { temp = 0 ; for(auto n : nums) { if(pen[s].find(n) != pen[s].end()) { temp += pen[s][n] ; } } pens[s] = temp ; } set<pair<long long int, string>> allpens ; for(auto s : teams) { allpens.insert(make_pair(pens[s], s)) ; } map<long long int, vector<string>> rights ; for(auto s : teams) { rights[right[s]].push_back(s) ; } long long int team_count = 0 ; long long int i = 0 ; // for(auto a : allpens) { // cout << endl << a.second << " " << a.first ; // } // cout << endl ; // for(auto v : rights[2]) { // cout << v << " " ; // } // cout << endl ; long long int temp2 = 0 ; while(1) { if(i >= nums.size()) return 0 ; if(team_count == 3) return 0 ; if(rights.find(nums.size() - i) != rights.end()) { if(rights[nums.size() - i].size() == 1) { cout << rights[nums.size() - i][0] << " " << nums.size() - i << " " << pens[rights[nums.size() - i][0]] << endl ; team_count++ ; } else { for(auto p : allpens) { auto v = rights[nums.size() - i] ; auto pos = find(v.begin(), v.end(), p.second) ; if(pos != v.end()) { if(team_count >= 3 && pens[p.second] != temp2) return 0 ; temp2 = pens[p.second] ; cout << p.second << " " << nums.size() - i << " " << pens[p.second] << endl ; team_count++ ; } } } } i++ ; } } | # 0218, 2024-11-02 14:01:48, PPPPPPPPPPPPPPPPP--PP (90%) #include <bits/stdc++.h> using namespace std ; int main() { int n ; cin >> n ; string team, TF ; int min, num ; map<string, map<int, vector<string>>> contest ; map<string, map<int, int>> pen ; map<string, int> right ; set<string> teams ; set<int> nums ; int temp = 0, count = 0 ; for(int i = 0 ; i < n ; i++) { cin >> min >> team >> num >> TF ; teams.insert(team) ; nums.insert(num) ; contest[team][num].push_back(TF) ; vector<string> dummy = contest[team][num] ; int size = dummy.size() ; if(TF == "T") { if(right.find(team) == right.end()) { right[team] = 1 ; } else { if(pen[team].find(num) == pen[team].end()) { right[team]++ ; } } for(int i = 0 ; i < size ; i++) { if(dummy[i] == "F") count++ ; } temp = min + (20 * count) ; count = 0 ; if(pen[team].find(num) == pen[team].end()) { pen[team][num] = temp ; } else continue ; } } map<string, int> pens ; for(auto s : teams) { temp = 0 ; for(auto n : nums) { if(pen[s].find(n) != pen[s].end()) { temp += pen[s][n] ; } } pens[s] = temp ; } set<pair<int, string>> allpens ; for(auto s : teams) { allpens.insert(make_pair(pens[s], s)) ; } map<int, vector<string>> rights ; for(auto s : teams) { rights[right[s]].push_back(s) ; } int team_count = 0 ; int i = 0 ; int temp2 = 0 ; while(1) { if(i >= nums.size()) return 0 ; if(team_count == 3) return 0 ; if(rights.find(nums.size() - i) != rights.end()) { if(rights[nums.size() - i].size() == 1) { cout << rights[nums.size() - i][0] << " " << nums.size() - i << " " << pens[rights[nums.size() - i][0]] << endl ; team_count++ ; } else { for(auto p : allpens) { auto v = rights[nums.size() - i] ; auto pos = find(v.begin(), v.end(), p.second) ; if(pos != v.end()) { if(team_count >= 3 && pens[p.second] != temp2) return 0 ; temp2 = pens[p.second] ; cout << p.second << " " << nums.size() - i << " " << pens[p.second] << endl ; team_count++ ; } } } } i++ ; } } |
# 0219, 2024-11-02 11:54:40, PP-PPPPPPP-PPPPPPPPP- (85%) #include <iostream> #include <vector> #include <map> #include <tuple> #include <set> #include <algorithm> using namespace std; int main () { int submission; cin >> submission; vector<tuple<int,string,int,bool>> grader; map<string,tuple<int,int,int>> score_board; // team , score , penaltycount, done map<int,bool> hasdone; map<string,map<int,bool>> ishedone; for (int i = 0; i < submission; i++) { int min, part; string team; char pass; cin >> min >> team >> part >> pass; bool check=false; if (pass == 'T')check = true; grader.push_back({min,team,part,check}); if (score_board.find(team)!=score_board.end()) { }else{ score_board[team]={0,0,0};} if (hasdone.find(part)==hasdone.end()) { hasdone[part]=false; } if (ishedone.find(team)==ishedone.end()) { ishedone[team]={{part,false}}; }else{ ishedone[team].insert({part,false}); } } for (auto time : grader) { string name = get<1>(time); int min = get<0>(time), part = get<2>(time); bool check = get<3>(time); if (check==false&&hasdone[part]==false) { get<1>(score_board[name])++; } if (check==true&&hasdone[part]==false&&ishedone[name][part]==false) { hasdone[part]=true; ishedone[name][part]=true; get<0>(score_board[name]) += min; get<2>(score_board[name])++; } if (check==true&&hasdone[part]==true&&ishedone[name][part]==false) { ishedone[name][part]=true; get<0>(score_board[name]) += min; get<2>(score_board[name])++; } } vector<tuple<int,int,string>> order; for (auto o : score_board) { int summit = (get<1>(o.second)*20) + get<0>(o.second); order.push_back({-(get<2>(o.second)),summit,o.first}); } sort(order.begin(),order.end()); int NUM =0; auto third = order.begin(); if (order.size()>3) { third = order.begin()+2; } for (auto o = order.begin() , end=order.end() ; o!=end ; o++) { if (NUM<3||((get<0>(*o)==get<0>(*third))&&get<1>(*o)==get<1>(*third))) { cout << get<2>(*o); cout << " " << -(get<0>(*o)); cout << " " << get<1>(*o) << endl; } NUM++; } } | # 0220, 2024-11-02 12:10:48, PPPPPPPPPP-PPPPPPPPP- (90%) #include <iostream> #include <vector> #include <map> #include <tuple> #include <set> #include <algorithm> using namespace std; int main () { int submission; cin >> submission; vector<tuple<int,string,int,bool>> grader; map<string,tuple<int,map<int,int>,int>> score_board; // team , score , penaltycount, done map<int,bool> hasdone; map<string,map<int,bool>> ishedone; set<int> partc; for (int i = 0; i < submission; i++) { int min, part; string team; char pass; cin >> min >> team >> part >> pass; bool check=false; if (pass == 'T')check = true; grader.push_back({min,team,part,check}); if (score_board.find(team)!=score_board.end()) { (get<1>(score_board[team]))[part]=0; }else{ score_board[team]={0,{{part,0}},0};} if (hasdone.find(part)==hasdone.end()) { hasdone[part]=false; } if (ishedone.find(team)==ishedone.end()) { ishedone[team]={{part,false}}; }else{ ishedone[team].insert({part,false}); } } for (auto time : grader) { string name = get<1>(time); int min = get<0>(time), part = get<2>(time); bool check = get<3>(time); if (check==false&&hasdone[part]==false) { get<1>(score_board[name])[part]++; } if (check==true&&hasdone[part]==false&&ishedone[name][part]==false) { hasdone[part]=true; ishedone[name][part]=true; get<0>(score_board[name]) += min; get<2>(score_board[name])++; } if (check==true&&hasdone[part]==true&&ishedone[name][part]==false) { ishedone[name][part]=true; get<0>(score_board[name]) += min; get<2>(score_board[name])++; } } vector<tuple<int,int,string>> order; for (auto o : score_board) { string name =o.first; int penaltyplus =0; for (auto r : get<1>(o.second)) { if (ishedone[name][r.first]) { penaltyplus += (r.second*20); } } int summit = penaltyplus + get<0>(o.second); order.push_back({-(get<2>(o.second)),summit,o.first}); } sort(order.begin(),order.end()); int NUM =0; auto third = order.begin(); if (order.size()>3) { third = order.begin()+2; } for (auto o = order.begin() , end=order.end() ; o!=end ; o++) { if (NUM<3||((get<0>(*o)==get<0>(*third))&&get<1>(*o)==get<1>(*third))) { cout << get<2>(*o); cout << " " << -(get<0>(*o)); cout << " " << get<1>(*o) << endl; } NUM++; } } |
# 0221, 2024-11-02 11:58:07, PPPPPPPPPP-PP-P----P- (66%) #include<iostream> #include<vector> #include<utility> #include<unordered_map> #include<map> #include<algorithm> using namespace std; void ook(vector<pair<pair<int,int>,string>> &d){ for(int i=0;i<d.size();i++){ for(int j=i+1;j<d.size();j++){ if(d[i].first.first < d[j].first.first) swap(d[i],d[j]); else if(d[i].first.first == d[j].first.first && d[i].first.second > d[j].first.second) swap(d[i],d[j]); } } } int main(){ int n,time,no; string team,result; cin>>n; unordered_map<string,pair<int,int>> out; //team: score,penalty unordered_map<string,unordered_map<int,vector<string>>> data; while (n--){ cin>>time>>team>>no>>result; if(out.find(team) == out.end()) out[team]=make_pair(0,0); if(data.find(team) == data.end()) data[team]={}; if(result =="T"){ if(find(data[team][no].begin(),data[team][no].end(),"T") == data[team][no].end()){ out[team].first+=1; out[team].second+=time+(20*data[team][no].size()); data[team][no].push_back("T"); } }else if( result == "F"){ if(find(data[team][no].begin(),data[team][no].end(),"T") == data[team][no].end()){ data[team][no].push_back("F"); } } } vector<pair<pair<int,int>,string>> sub; for(auto i:out){ sub.push_back(make_pair(make_pair(i.second.first,i.second.second),i.first)); } ook(sub); int o=3; if(o>sub.size()) o=sub.size(); for(int i=0;i<o;i++){ cout<<sub[i].second<<" "<<sub[i].first.first<<" "<<sub[i].first.second<<endl; } } | # 0222, 2024-11-02 12:02:00, PPPPPPPPPP-PPPPP---PP (80%) #include<iostream> #include<vector> #include<utility> #include<unordered_map> #include<map> #include<algorithm> using namespace std; void ook(vector<pair<pair<int,int>,string>> &d){ for(int i=0;i<d.size();i++){ for(int j=i+1;j<d.size();j++){ if(d[i].first.first < d[j].first.first) swap(d[i],d[j]); else if(d[i].first.first == d[j].first.first && d[i].first.second > d[j].first.second) swap(d[i],d[j]); } } } int main(){ int n,time,no; string team,result; cin>>n; unordered_map<string,pair<int,int>> out; //team: score,penalty unordered_map<string,unordered_map<int,vector<string>>> data; while (n--){ cin>>time>>team>>no>>result; if(out.find(team) == out.end()) out[team]=make_pair(0,0); if(data.find(team) == data.end()) data[team]={}; if(result =="T"){ if(find(data[team][no].begin(),data[team][no].end(),"T") == data[team][no].end()){ out[team].first+=1; out[team].second+=time+(20*data[team][no].size()); data[team][no].push_back("T"); } }else if( result == "F"){ if(find(data[team][no].begin(),data[team][no].end(),"T") == data[team][no].end()){ data[team][no].push_back("F"); } } } vector<pair<pair<int,int>,string>> sub; for(auto i:out){ sub.push_back(make_pair(make_pair(i.second.first,i.second.second),i.first)); } ook(sub); int o=3; if(o>sub.size()) o=sub.size(); for(int i=0;i<o;i++){ cout<<sub[i].second<<" "<<sub[i].first.first<<" "<<sub[i].first.second<<endl; if(i==2 && sub[i].first.first==sub[i+1].first.first && sub[i].first.second == sub[i+1].first.second){ cout<<sub[i+1].second<<" "<<sub[i+1].first.first<<" "<<sub[i+1].first.second<<endl; } } } | # 0223, 2024-11-02 12:05:16, PPPPPPPPPPPPPPPP---PP (85%) #include<iostream> #include<vector> #include<utility> #include<unordered_map> #include<map> #include<algorithm> using namespace std; void ook(vector<pair<pair<int,int>,string>> &d){ for(int i=0;i<d.size();i++){ for(int j=i+1;j<d.size();j++){ if(d[i].first.first < d[j].first.first) swap(d[i],d[j]); else if(d[i].first.first == d[j].first.first && d[i].first.second > d[j].first.second) swap(d[i],d[j]); } } } int main(){ int n,time,no; string team,result; cin>>n; unordered_map<string,pair<int,int>> out; //team: score,penalty unordered_map<string,unordered_map<int,vector<string>>> data; while (n--){ cin>>time>>team>>no>>result; if(out.find(team) == out.end()) out[team]=make_pair(0,0); if(data.find(team) == data.end()) data[team]={}; if(result =="T"){ if(find(data[team][no].begin(),data[team][no].end(),"T") == data[team][no].end()){ out[team].first+=1; out[team].second+=time+(20*data[team][no].size()); data[team][no].push_back("T"); } }else if( result == "F"){ if(find(data[team][no].begin(),data[team][no].end(),"T") == data[team][no].end()){ data[team][no].push_back("F"); } } } vector<pair<pair<int,int>,string>> sub; for(auto i:out){ sub.push_back(make_pair(make_pair(i.second.first,i.second.second),i.first)); } ook(sub); int o=3; if(o>sub.size()) o=sub.size(); for(int i=0;i<o;i++){ if(sub[i].first.first!=0 && sub[i].first.second !=0){ cout<<sub[i].second<<" "<<sub[i].first.first<<" "<<sub[i].first.second<<endl; if(i==2 && sub[i].first.first==sub[i+1].first.first && sub[i].first.second == sub[i+1].first.second){ cout<<sub[i+1].second<<" "<<sub[i+1].first.first<<" "<<sub[i+1].first.second<<endl; }} } } |
# 0224, 2024-11-02 14:30:17, P---PPPPPP--PPPP----- (52%) #include <iostream> #include <vector> #include <set> #include <algorithm> #include <map> #include <utility> #include <tuple> int main(){ int n ; std::cin >> n; std::map<std::string,std::pair<int,int>> penalty; std::map<std::string,std::map<int,int>> passq; while(n--){ int time ,que; std::string team , pass; std::cin >> time >>team >> que >>pass; if(!passq[team][que] && pass == "T"){ penalty[team].second += time; penalty[team].first++; passq[team][que] = 1 ; }else if(!passq[team][que] && pass == "F"){ penalty[team].second += time; } } std::map<int,std::map<int,std::vector<std::string>>> out; for(auto & i : penalty ){ out[-i.second.first][i.second.second].push_back(i.first); } // sort(out.begin() , out.end() , [](auto a , auto b){ // return a > b; // }); int m = 0 ; for(auto i : out){ for(auto j : i.second){ for(auto k : j.second){ std::cout << k <<" " << (-i.first) << " " << j.first <<std::endl; m++; } if(m>=3)break; } if(m>=3)break; } } | # 0225, 2024-11-02 14:34:12, PP-PPPPPPP-PPPPPPPPP- (85%) #include <iostream> #include <vector> #include <set> #include <algorithm> #include <map> #include <utility> #include <tuple> int main(){ int n ; std::cin >> n; std::map<std::string,std::pair<int,int>> penalty; std::map<std::string,std::map<int,int>> passq; while(n--){ int time ,que; std::string team , pass; std::cin >> time >>team >> que >>pass; if(!passq[team][que] && pass == "T"){ penalty[team].second += time; penalty[team].first+=1; passq[team][que] = 1 ; }else if(!passq[team][que] && pass == "F"){ penalty[team].second += 20; } } std::map<int,std::map<int,std::vector<std::string>>> out; for(auto & i : penalty ){ out[-i.second.first][i.second.second].push_back(i.first); } // sort(out.begin() , out.end() , [](auto a , auto b){ // return a > b; // }); int m = 0 ; for(auto i : out){ for(auto j : i.second){ for(auto k : j.second){ std::cout << k <<" " << (-i.first) << " " << j.first <<std::endl; m++; } if(m>=3)break; } if(m>=3)break; } } |
# 0226, 2024-11-02 14:55:43, PP-PPPP-PP-PP-P------ (52%) #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef double db; int main(){ int n ;cin >> n; // pass penalty fail map<string,tuple<int,int,int>> mp; int time,num; string team,cmd; while(n--){ cin >> time >> team >> num >> cmd; if(cmd == "F"){ if(mp.count(team)){ auto& tp = mp[team]; get<2>(tp)++; } else{ mp[team] = {0,0,1}; } } else{ if(mp.count(team)){ auto& tp = mp[team]; get<1>(tp) += get<2>(tp) * 20 + time; get<2>(tp) = 0; get<0>(tp)++; } else{ mp[team] = {1,time,0}; } } } vector<tuple<int,int,string>> ans; for(auto [a,tp] : mp){ ans.push_back({-get<0>(tp),get<1>(tp),a}); } int count = 0; sort(ans.begin(),ans.end()); for(auto [a,b,c] : ans){ cout << c << ' ' << -a << ' ' << b << '\n'; count++; if(count == 3){ break; } } } | # 0227, 2024-11-02 15:20:34, PP-PPPP-PP-PP-P------ (52%) #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef double db; int main(){ int n ;cin >> n; // pass penalty fail map<string,tuple<int,int,int>> mp; // num failtime map<string,vector<pair<int,int>>> fail; map<string,set<int>> passAlr; int time,num; string team,cmd; while(n--){ cin >> time >> team >> num >> cmd; if(cmd == "F"){ if(mp.count(team)){ auto& tp = mp[team]; get<2>(tp)++; // cout << "team " << team << " fail " << get<2>(tp) << '\n'; } else{ mp[team] = {0,0,1}; } if(fail.count(team)){ auto& vec = fail[team]; bool found = false; for(auto it=vec.begin();it!=vec.end();it++){ if(it->first == num){ found = true; it->second++; break; } } } else{ fail[team].push_back({num,1}); } } else if(cmd == "T"){ auto se = passAlr[team]; if(mp.count(team) && !(se.count(num))){ auto& tp = mp[team]; auto& p = fail[team]; auto& vec = fail[team]; int plus = 0; bool found = false; for(auto it=vec.begin();it!=vec.end();it++){ if(it->first == num){ found = true; plus = it->second; vec.erase(it); break; } } if(found){ get<1>(tp) += 20*plus + time; } else{ get<1>(tp) += time; } get<2>(tp) = 0; get<0>(tp)++; } else{ mp[team] = {1,time,0}; } passAlr[team].insert(num); } } vector<tuple<int,int,string>> ans; for(auto [a,tp] : mp){ ans.push_back({-get<0>(tp),get<1>(tp),a}); } int count = 0; sort(ans.begin(),ans.end()); for(auto [a,b,c] : ans){ cout << c << ' ' << -a << ' ' << b << '\n'; count++; if(count == 3){ break; } } } | # 0228, 2024-11-02 15:21:39, PP-PPPPPPP-PP-P------ (57%) #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef double db; int main(){ int n ;cin >> n; // pass penalty fail map<string,tuple<int,int,int>> mp; // num failtime map<string,vector<pair<int,int>>> fail; map<string,set<int>> passAlr; int time,num; string team,cmd; while(n--){ cin >> time >> team >> num >> cmd; if(cmd == "F"){ if(mp.count(team)){ auto& tp = mp[team]; get<2>(tp)++; // cout << "team " << team << " fail " << get<2>(tp) << '\n'; } else{ mp[team] = {0,0,1}; } if(fail.count(team)){ auto& vec = fail[team]; bool found = false; for(auto it=vec.begin();it!=vec.end();it++){ if(it->first == num){ found = true; it->second++; break; } } } else{ fail[team].push_back({num,1}); } } else if(cmd == "T"){ auto se = passAlr[team]; if(!se.count(num)){ if(mp.count(team) && !(se.count(num))){ auto& tp = mp[team]; auto& p = fail[team]; auto& vec = fail[team]; int plus = 0; bool found = false; for(auto it=vec.begin();it!=vec.end();it++){ if(it->first == num){ found = true; plus = it->second; vec.erase(it); break; } } if(found){ get<1>(tp) += 20*plus + time; } else{ get<1>(tp) += time; } get<2>(tp) = 0; get<0>(tp)++; } else{ mp[team] = {1,time,0}; } } passAlr[team].insert(num); } } vector<tuple<int,int,string>> ans; for(auto [a,tp] : mp){ ans.push_back({-get<0>(tp),get<1>(tp),a}); } int count = 0; sort(ans.begin(),ans.end()); for(auto [a,b,c] : ans){ cout << c << ' ' << -a << ' ' << b << '\n'; count++; if(count == 3){ break; } } } | # 0229, 2024-11-02 15:23:25, PP-PPPPPPPPPP-P------ (61%) #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef double db; int main(){ int n ;cin >> n; // pass penalty fail map<string,tuple<int,int,int>> mp; // num failtime map<string,vector<pair<int,int>>> fail; map<string,set<int>> passAlr; int time,num; string team,cmd; while(n--){ cin >> time >> team >> num >> cmd; if(cmd == "F"){ if(mp.count(team)){ auto& tp = mp[team]; get<2>(tp)++; // cout << "team " << team << " fail " << get<2>(tp) << '\n'; } else{ mp[team] = {0,0,1}; } if(fail.count(team)){ auto& vec = fail[team]; bool found = false; for(auto it=vec.begin();it!=vec.end();it++){ if(it->first == num){ found = true; it->second++; break; } } } else{ fail[team].push_back({num,1}); } } else if(cmd == "T"){ auto se = passAlr[team]; if(!se.count(num)){ if(mp.count(team) && !(se.count(num))){ auto& tp = mp[team]; auto& p = fail[team]; auto& vec = fail[team]; int plus = 0; bool found = false; for(auto it=vec.begin();it!=vec.end();it++){ if(it->first == num){ found = true; plus = it->second; vec.erase(it); break; } } if(found){ get<1>(tp) += 20*plus + time; } else{ get<1>(tp) += time; } get<2>(tp) = 0; get<0>(tp)++; } else{ mp[team] = {1,time,0}; } } passAlr[team].insert(num); } } vector<tuple<int,int,string>> ans; for(auto [a,tp] : mp){ ans.push_back({-get<0>(tp),get<1>(tp),a}); } int count = 0; sort(ans.begin(),ans.end()); for(auto [a,b,c] : ans){ if(-a != 0 && b != 0){ cout << c << ' ' << -a << ' ' << b << '\n'; count++; if(count == 3){ break; } } } } | # 0230, 2024-11-02 15:27:44, PP-PPPPPPPPPPPPPP---P (80%) #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef double db; int main(){ int n ;cin >> n; // pass penalty fail map<string,tuple<int,int,int>> mp; // num failtime map<string,vector<pair<int,int>>> fail; map<string,set<int>> passAlr; int time,num; string team,cmd; while(n--){ cin >> time >> team >> num >> cmd; if(cmd == "F"){ if(mp.count(team)){ auto& tp = mp[team]; get<2>(tp)++; // cout << "team " << team << " fail " << get<2>(tp) << '\n'; } else{ mp[team] = {0,0,1}; } if(fail.count(team)){ auto& vec = fail[team]; bool found = false; for(auto it=vec.begin();it!=vec.end();it++){ if(it->first == num){ found = true; it->second++; break; } } } else{ fail[team].push_back({num,1}); } } else if(cmd == "T"){ auto se = passAlr[team]; if(!se.count(num)){ if(mp.count(team) && !(se.count(num))){ auto& tp = mp[team]; auto& p = fail[team]; auto& vec = fail[team]; int plus = 0; bool found = false; for(auto it=vec.begin();it!=vec.end();it++){ if(it->first == num){ found = true; plus = it->second; vec.erase(it); break; } } if(found){ get<1>(tp) += 20*plus + time; } else{ get<1>(tp) += time; } get<2>(tp) = 0; get<0>(tp)++; } else{ mp[team] = {1,time,0}; } } passAlr[team].insert(num); } } vector<tuple<int,int,string>> ans; for(auto [a,tp] : mp){ ans.push_back({-get<0>(tp),get<1>(tp),a}); } int count = 0; sort(ans.begin(),ans.end()); set<int> winnerScore; set<string> winner; for(auto [a,b,c] : ans){ if(winnerScore.size() > 2){ break; } winnerScore.insert(b); } for(auto [a,b,c] : ans){ if(-a != 0 && b != 0){ if(winnerScore.count(b)){ cout << c << ' ' << -a << ' ' << b << '\n'; } } } } | # 0231, 2024-11-02 15:29:50, --------------------- (0%) #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef double db; int main(){ int n ;cin >> n; // pass penalty fail map<string,tuple<int,int,int>> mp; // num failtime map<string,vector<pair<int,int>>> fail; map<string,set<int>> passAlr; int time,num; string team,cmd; while(n--){ cin >> time >> team >> num >> cmd; if(cmd == "F"){ if(mp.count(team)){ auto& tp = mp[team]; get<2>(tp)++; // cout << "team " << team << " fail " << get<2>(tp) << '\n'; } else{ mp[team] = {0,0,1}; } if(fail.count(team)){ auto& vec = fail[team]; bool found = false; for(auto it=vec.begin();it!=vec.end();it++){ if(it->first == num){ found = true; it->second++; break; } } } else{ fail[team].push_back({num,1}); } } else if(cmd == "T"){ auto se = passAlr[team]; if(!se.count(num)){ if(mp.count(team) && !(se.count(num))){ auto& tp = mp[team]; auto& p = fail[team]; auto& vec = fail[team]; int plus = 0; bool found = false; for(auto it=vec.begin();it!=vec.end();it++){ if(it->first == num){ found = true; plus = it->second; vec.erase(it); break; } } if(found){ get<1>(tp) += 20*plus + time; } else{ get<1>(tp) += time; } get<2>(tp) = 0; get<0>(tp)++; } else{ mp[team] = {1,time,0}; } } passAlr[team].insert(num); } } vector<tuple<int,int,string>> ans; for(auto [a,tp] : mp){ ans.push_back({-get<0>(tp),get<1>(tp),a}); } int count = 0; sort(ans.begin(),ans.end()); set<int> winnerScore; set<string> winner; for(auto [a,b,c] : ans){ if(winnerScore.size() > 1){ break; } winnerScore.insert(b); } for(auto a : winnerScore){ cout << a << ' '; } cout << '\n'; for(auto [a,b,c] : ans){ if(-a != 0 && b != 0){ if(winnerScore.count(b)){ cout << c << ' ' << -a << ' ' << b << '\n'; } } } } | # 0232, 2024-11-02 15:30:07, PP-PPPPP--PP--------- (42%) #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef double db; int main(){ int n ;cin >> n; // pass penalty fail map<string,tuple<int,int,int>> mp; // num failtime map<string,vector<pair<int,int>>> fail; map<string,set<int>> passAlr; int time,num; string team,cmd; while(n--){ cin >> time >> team >> num >> cmd; if(cmd == "F"){ if(mp.count(team)){ auto& tp = mp[team]; get<2>(tp)++; // cout << "team " << team << " fail " << get<2>(tp) << '\n'; } else{ mp[team] = {0,0,1}; } if(fail.count(team)){ auto& vec = fail[team]; bool found = false; for(auto it=vec.begin();it!=vec.end();it++){ if(it->first == num){ found = true; it->second++; break; } } } else{ fail[team].push_back({num,1}); } } else if(cmd == "T"){ auto se = passAlr[team]; if(!se.count(num)){ if(mp.count(team) && !(se.count(num))){ auto& tp = mp[team]; auto& p = fail[team]; auto& vec = fail[team]; int plus = 0; bool found = false; for(auto it=vec.begin();it!=vec.end();it++){ if(it->first == num){ found = true; plus = it->second; vec.erase(it); break; } } if(found){ get<1>(tp) += 20*plus + time; } else{ get<1>(tp) += time; } get<2>(tp) = 0; get<0>(tp)++; } else{ mp[team] = {1,time,0}; } } passAlr[team].insert(num); } } vector<tuple<int,int,string>> ans; for(auto [a,tp] : mp){ ans.push_back({-get<0>(tp),get<1>(tp),a}); } int count = 0; sort(ans.begin(),ans.end()); set<int> winnerScore; set<string> winner; for(auto [a,b,c] : ans){ if(winnerScore.size() > 1){ break; } winnerScore.insert(b); } cout << '\n'; for(auto [a,b,c] : ans){ if(-a != 0 && b != 0){ if(winnerScore.count(b)){ cout << c << ' ' << -a << ' ' << b << '\n'; } } } } |
# 0233, 2024-11-02 15:19:05, PP-PPPPPPPPP-PPPP---- (71%) #include<bits/stdc++.h> using namespace std; int main(){ int n; cin>>n; int t,num; char check; string team_name; map<string,int> time_team; map<string,int> correct; map<string ,set<int>>done; set<string>all_team; while (n--){ cin>>t>>team_name>>num>>check; if (time_team.find(team_name)==time_team.end()){ time_team[team_name] =0; correct[team_name] =0; all_team.insert(team_name); } if (check=='F'&&done[team_name].find(num)==done[team_name].end()){ time_team[team_name]+=20; } else{ if (done[team_name].find(num)==done[team_name].end()){ time_team[team_name]+=t; correct[team_name]+=1; done[team_name].insert(num); } } } set<pair<int,string>>time_sort; set<int> number; int time =3; int max; int time_previous; for (auto &c :all_team){ time_sort.insert(make_pair(time_team[c],c)); number.insert(correct[c]); } for (auto&c:number){ max =c; } for (int i = max; i>0; i--){ for (auto &c :time_sort){ if ((correct[c.second]==max)||(correct[c.second]==max&&time_previous==c.first)){ cout<<c.second<<" "<<max<<" "<<c.first<<endl; time--; time_previous =c.first; } } if (time==0){ break; } max--; } return 0; } | # 0234, 2024-11-02 15:20:35, PP-PPPPPPPPP-PPPPPP-- (80%) #include<bits/stdc++.h> using namespace std; int main(){ int n; cin>>n; int t,num; char check; string team_name; map<string,int> time_team; map<string,int> correct; map<string ,set<int>>done; set<string>all_team; while (n--){ cin>>t>>team_name>>num>>check; if (time_team.find(team_name)==time_team.end()){ time_team[team_name] =0; correct[team_name] =0; all_team.insert(team_name); } if (check=='F'&&done[team_name].find(num)==done[team_name].end()){ time_team[team_name]+=20; } else{ if (done[team_name].find(num)==done[team_name].end()){ time_team[team_name]+=t; correct[team_name]+=1; done[team_name].insert(num); } } } set<pair<int,string>>time_sort; set<int> number; int time =3; int max; int time_previous; for (auto &c :all_team){ time_sort.insert(make_pair(time_team[c],c)); number.insert(correct[c]); } for (auto&c:number){ max =c; } for (int i = max; i>0; i--){ for (auto &c :time_sort){ if ((correct[c.second]==max)||(correct[c.second]==max&&time_previous==c.first)){ cout<<c.second<<" "<<max<<" "<<c.first<<endl; time--; time_previous =c.first; } } if (time<=0){ break; } max--; } return 0; } | # 0235, 2024-11-02 15:24:51, PP-P-PPP-P-P-----PP-- (47%) #include<bits/stdc++.h> using namespace std; int main(){ int n; cin>>n; int t,num; char check; string team_name; map<string,int> time_team; map<string,int> correct; map<string ,set<int>>done; set<string>all_team; while (n--){ cin>>t>>team_name>>num>>check; if (time_team.find(team_name)==time_team.end()){ time_team[team_name] =0; correct[team_name] =0; all_team.insert(team_name); } if (check=='F'&&done[team_name].find(num)==done[team_name].end()){ time_team[team_name]+=20; } else{ if (done[team_name].find(num)==done[team_name].end()){ time_team[team_name]+=t; correct[team_name]+=1; done[team_name].insert(num); } } } set<pair<int,string>>time_sort; set<int> number; int time =3; int max; int time_previous=99999999; for (auto &c :all_team){ time_sort.insert(make_pair(time_team[c],c)); number.insert(correct[c]); } for (auto&c:number){ max =c; } for (int i = max; i>0; i--){ for (auto &c :time_sort){ if (c.first<=time_previous&&((correct[c.second]==max)||(correct[c.second]==max&&time_previous==c.first))){ cout<<c.second<<" "<<max<<" "<<c.first<<endl; time--; time_previous =c.first; } } if (time<=0){ break; } max--; } return 0; } | # 0236, 2024-11-02 15:27:17, PP--PP--P----P------- (28%) #include<bits/stdc++.h> using namespace std; int main(){ int n; cin>>n; int t,num; char check; string team_name; map<string,int> time_team; map<string,int> correct; map<string ,set<int>>done; set<string>all_team; while (n--){ cin>>t>>team_name>>num>>check; if (time_team.find(team_name)==time_team.end()){ time_team[team_name] =0; correct[team_name] =0; all_team.insert(team_name); } if (check=='F'&&done[team_name].find(num)==done[team_name].end()){ time_team[team_name]+=20; } else{ if (done[team_name].find(num)==done[team_name].end()){ time_team[team_name]+=t; correct[team_name]+=1; done[team_name].insert(num); } } } set<pair<int,string>>time_sort; set<int> number; int time =3; int max; int time_previous=99999999999; for (auto &c :all_team){ time_sort.insert(make_pair(time_team[c],c)); number.insert(correct[c]); } for (auto&c:number){ max =c; } for (int i = max; i>0; i--){ for (auto &c :time_sort){ if (correct[c.second]==max||time_previous<=c.first){ cout<<c.second<<" "<<max<<" "<<c.first<<endl; time--; time_previous =c.first; } } if (time<=0){ break; } max--; } return 0; } | # 0237, 2024-11-02 15:29:49, PP-PPPPPPPPP-PPPP---- (71%) #include<bits/stdc++.h> using namespace std; int main(){ int n; cin>>n; int t,num; char check; string team_name; map<string,int> time_team; map<string,int> correct; map<string ,set<int>>done; set<string>all_team; while (n--){ cin>>t>>team_name>>num>>check; if (time_team.find(team_name)==time_team.end()){ time_team[team_name] =0; correct[team_name] =0; all_team.insert(team_name); } if (check=='F'&&done[team_name].find(num)==done[team_name].end()){ time_team[team_name]+=20; } else{ if (done[team_name].find(num)==done[team_name].end()){ time_team[team_name]+=t; correct[team_name]+=1; done[team_name].insert(num); } } } set<pair<int,string>>time_sort; set<int> number; int time =3; int max; int time_previous=9999999; for (auto &c :all_team){ time_sort.insert(make_pair(time_team[c],c)); number.insert(correct[c]); } for (auto&c:number){ max =c; } for (int i = max; i>0; i--){ for (auto &c :time_sort){ if (correct[c.second]==max){ if (time_previous==c.first){ cout<<c.second<<" "<<max<<" "<<c.first<<endl; } else{ cout<<c.second<<" "<<max<<" "<<c.first<<endl; time--; } time_previous =c.first; } } if (time<=0){ break; } max--; } return 0; } | # 0238, 2024-11-02 15:32:00, PP-PPPPPPPPP-PPPPPP-- (80%) #include<bits/stdc++.h> using namespace std; int main(){ int n; cin>>n; int t,num; char check; string team_name; map<string,int> time_team; map<string,int> correct; map<string ,set<int>>done; set<string>all_team; while (n--){ cin>>t>>team_name>>num>>check; if (time_team.find(team_name)==time_team.end()){ time_team[team_name] =0; correct[team_name] =0; all_team.insert(team_name); } if (check=='F'&&done[team_name].find(num)==done[team_name].end()){ time_team[team_name]+=20; } else{ if (done[team_name].find(num)==done[team_name].end()){ time_team[team_name]+=t; correct[team_name]+=1; done[team_name].insert(num); } } } set<pair<int,string>>time_sort; set<int> number; int time =3; int max; int time_previous; for (auto &c :all_team){ time_sort.insert(make_pair(time_team[c],c)); number.insert(correct[c]); } for (auto&c:number){ max =c; } for (int i = max; i>0; i--){ for (auto &c :time_sort){ if ((correct[c.second]==max)||(correct[c.second]==max&&time_previous==c.first)){ cout<<c.second<<" "<<max<<" "<<c.first<<endl; time--; time_previous =c.first; } } if (time<=0){ break; } max--; } return 0; } |
# 0239, 2024-11-02 14:53:06, PPPPPPPPPPPP-PPP----- (71%) #include <bits/stdc++.h> using namespace std; map<string,int> Chart; map<string,int> Penalty; map<string,set<pair<int,int>>> PenaltyWrong; map<string,set<int>> QDone; int main(){ int num; cin >> num; while(num--){ int Time,Question; string Team,Mark; cin >> Time >> Team >> Question >> Mark; if (Mark == "T"){ if (QDone[Team].insert(Question).second) //add to done { //check if there is a wrong penalty for this Q for (auto c : PenaltyWrong){ if (c.first == Team){ //this team for (auto cc : c.second){ //all wrong penalties of this team if (cc.first == Question){ //cout << "Wrong Answer on " << Question << " Penalty 20" << endl; Penalty[Team] += 20; } } } } Penalty[Team] += Time; Chart[Team]+=1; } } else{ //wrong answer if (QDone[Team].count(Question) > 0) //already solved { } else{ PenaltyWrong[Team].insert(make_pair(Question,Time)); } } } int Maxscore =0; for (auto c : Chart){ Maxscore = max(Maxscore,c.second); //cout << c.first << " " << c.second <<" max= "<< Maxscore <<endl; //team, score, maxscore total Maxscore+=1; } int count = 0; while (Maxscore--) { if (count == 3){ break; } //cout << Maxscore << endl; vector<string> Scorelees; for (auto c : Chart){ if (c.second == Maxscore){ count++; Scorelees.emplace_back(c.first); } } if (Scorelees.size() == 1){ //only 1 person has that score string Team = Scorelees[0]; cout << Team << " " << Chart[Team] << " " << Penalty[Team] << endl; } else { set<pair<int,string>> Check; for (auto team : Scorelees){ Check.emplace(Penalty[team],team); } for (auto output : Check){ string Team = output.second; cout << Team << " " << Chart[Team] << " " << Penalty[Team] << endl; } } } } | # 0240, 2024-11-02 15:10:56, PPPPPPPP-PP------PPPP (66%) #include <bits/stdc++.h> using namespace std; map<string,int> Chart; map<string,int> Penalty; map<string,set<pair<int,int>>> PenaltyWrong; map<string,set<int>> QDone; int main(){ int num; cin >> num; while(num--){ int Time,Question; string Team,Mark; cin >> Time >> Team >> Question >> Mark; if (Mark == "T"){ if (QDone[Team].insert(Question).second) //add to done { //check if there is a wrong penalty for this Q for (auto c : PenaltyWrong){ if (c.first == Team){ //this team for (auto cc : c.second){ //all wrong penalties of this team if (cc.first == Question){ //cout << "Wrong Answer on " << Question << " Penalty 20" << endl; Penalty[Team] += 20; } } } } Penalty[Team] += Time; Chart[Team]+=1; } } else{ //wrong answer if (QDone[Team].count(Question) > 0) //already solved { } else{ PenaltyWrong[Team].insert(make_pair(Question,Time)); } } } int Maxscore =0; for (auto c : Chart){ Maxscore = max(Maxscore,c.second); //cout << c.first << " " << c.second <<" max= "<< Maxscore <<endl; //team, score, maxscore total } Maxscore+=1; int count = 0; while (Maxscore--) { //cout << Maxscore << " Count = " << count << endl; if (count >= 2){ break; } //cout << Maxscore << endl; vector<string> Scorelees; for (auto c : Chart){ if (c.second == Maxscore){ Scorelees.emplace_back(c.first); } } if (Scorelees.size() == 1){ //only 1 person has that score string Team = Scorelees[0]; cout << Team << " " << Chart[Team] << " " << Penalty[Team] << endl; } else { set<pair<int,string>> Check; //Penalty,Team for (auto team : Scorelees){ Check.emplace(Penalty[team],team); } int oldpenal =0; int curpenal =0; for (auto output : Check){ if (oldpenal==0){ oldpenal = output.first; } else{ curpenal = output.first; if (oldpenal == curpenal){ //do nothing } else{ oldpenal = curpenal; //cout << Maxscore << " Count = " << count << endl; if (count >= 2) { break; } } } count++; string Team = output.second; cout << Team << " " << Chart[Team] << " " << Penalty[Team] << endl; } } } } | # 0241, 2024-11-02 15:12:48, PPPPPPPPPPPPPP-P-PP-- (80%) #include <bits/stdc++.h> using namespace std; map<string,int> Chart; map<string,int> Penalty; map<string,set<pair<int,int>>> PenaltyWrong; map<string,set<int>> QDone; int main(){ int num; cin >> num; while(num--){ int Time,Question; string Team,Mark; cin >> Time >> Team >> Question >> Mark; if (Mark == "T"){ if (QDone[Team].insert(Question).second) //add to done { //check if there is a wrong penalty for this Q for (auto c : PenaltyWrong){ if (c.first == Team){ //this team for (auto cc : c.second){ //all wrong penalties of this team if (cc.first == Question){ //cout << "Wrong Answer on " << Question << " Penalty 20" << endl; Penalty[Team] += 20; } } } } Penalty[Team] += Time; Chart[Team]+=1; } } else{ //wrong answer if (QDone[Team].count(Question) > 0) //already solved { } else{ PenaltyWrong[Team].insert(make_pair(Question,Time)); } } } int Maxscore =0; for (auto c : Chart){ Maxscore = max(Maxscore,c.second); //cout << c.first << " " << c.second <<" max= "<< Maxscore <<endl; //team, score, maxscore total } Maxscore+=1; int count = 0; while (Maxscore--) { //cout << Maxscore << " Count = " << count << endl; if (count >= 3){ break; } //cout << Maxscore << endl; vector<string> Scorelees; for (auto c : Chart){ if (c.second == Maxscore){ Scorelees.emplace_back(c.first); } } if (Scorelees.size() == 1){ //only 1 person has that score string Team = Scorelees[0]; cout << Team << " " << Chart[Team] << " " << Penalty[Team] << endl; } else { set<pair<int,string>> Check; //Penalty,Team for (auto team : Scorelees){ Check.emplace(Penalty[team],team); } int oldpenal =0; int curpenal =0; for (auto output : Check){ if (oldpenal==0){ oldpenal = output.first; } else{ curpenal = output.first; if (oldpenal == curpenal){ //do nothing } else{ oldpenal = curpenal; //cout << Maxscore << " Count = " << count << endl; if (count >= 3) { break; } } } count++; string Team = output.second; cout << Team << " " << Chart[Team] << " " << Penalty[Team] << endl; } } } } | # 0242, 2024-11-02 15:23:22, PPPP--PP-P----------- (33%) #include <bits/stdc++.h> using namespace std; map<string,int> Chart; map<string,int> Penalty; map<string,set<pair<int,int>>> PenaltyWrong; map<string,set<int>> QDone; int main(){ int num; cin >> num; while(num--){ int Time,Question; string Team,Mark; cin >> Time >> Team >> Question >> Mark; if (Mark == "T"){ if (QDone[Team].insert(Question).second) //add to done { //check if there is a wrong penalty for this Q for (auto c : PenaltyWrong){ if (c.first == Team){ //this team for (auto cc : c.second){ //all wrong penalties of this team if (cc.first == Question){ //cout << "Wrong Answer on " << Question << " Penalty 20" << endl; Penalty[Team] += 20; } } } } Penalty[Team] += Time; Chart[Team]+=1; } } else{ //wrong answer if (QDone[Team].count(Question) > 0) //already solved { } else{ PenaltyWrong[Team].insert(make_pair(Question,Time)); } } } int Maxscore =0; for (auto c : Chart){ Maxscore = max(Maxscore,c.second); //cout << c.first << " " << c.second <<" max= "<< Maxscore <<endl; //team, score, maxscore total } Maxscore+=1; int count = 0; while (Maxscore--) { //cout << Maxscore << " Count = " << count << endl; if (count >= 3){ break; } //cout << Maxscore << endl; vector<string> Scorelees; for (auto c : Chart){ if (c.second == Maxscore){ Scorelees.emplace_back(c.first); } } if (Scorelees.size() == 1){ //only 1 person has that score string Team = Scorelees[0]; cout << Team << " " << Chart[Team] << " " << Penalty[Team] << endl; } else { set<pair<int,string>> Check; //Penalty,Team for (auto team : Scorelees){ Check.emplace(Penalty[team],team); } int oldpenal =0; int curpenal =0; set<string> OutputNames; for (auto output : Check){ if (oldpenal==0){ //cout << "First" << output.second <<endl; OutputNames.insert(output.second); oldpenal = output.first; } else{ curpenal = output.first; if (oldpenal == curpenal){ //cout << "Same Penal"<< output.second << endl; OutputNames.insert(output.second); //do nothing } else{ //new penalty cout << OutputNames.size(); //cout << "New Penal" << output.second << endl; for (auto out : OutputNames){ count++; string Team = out; cout << Team << " " << Chart[Team] << " " << Penalty[Team] << endl; } OutputNames = {}; OutputNames.insert(output.second); oldpenal = curpenal; if (count >= 3) { break; } } } } } } } | # 0243, 2024-11-02 15:27:31, PPPP--PP-P--P-------P (42%) #include <bits/stdc++.h> using namespace std; map<string,int> Chart; map<string,int> Penalty; map<string,set<pair<int,int>>> PenaltyWrong; map<string,set<int>> QDone; int main(){ int num; cin >> num; while(num--){ int Time,Question; string Team,Mark; cin >> Time >> Team >> Question >> Mark; if (Mark == "T"){ if (QDone[Team].insert(Question).second) //add to done { //check if there is a wrong penalty for this Q for (auto c : PenaltyWrong){ if (c.first == Team){ //this team for (auto cc : c.second){ //all wrong penalties of this team if (cc.first == Question){ //cout << "Wrong Answer on " << Question << " Penalty 20" << endl; Penalty[Team] += 20; } } } } Penalty[Team] += Time; Chart[Team]+=1; } } else{ //wrong answer if (QDone[Team].count(Question) > 0) //already solved { } else{ PenaltyWrong[Team].insert(make_pair(Question,Time)); } } } int Maxscore =0; for (auto c : Chart){ Maxscore = max(Maxscore,c.second); //cout << c.first << " " << c.second <<" max= "<< Maxscore <<endl; //team, score, maxscore total } Maxscore+=1; int count = 0; while (Maxscore--) { //cout << Maxscore << " Count = " << count << endl; if (count >= 3){ break; } //cout << Maxscore << endl; vector<string> Scorelees; for (auto c : Chart){ if (c.second == Maxscore){ Scorelees.emplace_back(c.first); } } if (Scorelees.size() == 1){ //only 1 person has that score string Team = Scorelees[0]; cout << Team << " " << Chart[Team] << " " << Penalty[Team] << endl; } else { set<pair<int,string>> Check; //Penalty,Team for (auto team : Scorelees){ Check.emplace(Penalty[team],team); } int oldpenal =0; int curpenal =0; set<string> OutputNames; int amount = 0; for (auto output : Check){ if (oldpenal==0){ //cout << "First" << output.second <<endl; OutputNames.insert(output.second); oldpenal = output.first; } else{ curpenal = output.first; if (oldpenal == curpenal){ //cout << "Same Penal"<< output.second << endl; OutputNames.insert(output.second); } else if ((oldpenal!= curpenal)||(amount == Check.size()-1))//new penalty or last { //cout << "New Penal" << output.second << endl; for (auto out : OutputNames){ count++; string Team = out; cout << Team << " " << Chart[Team] << " " << Penalty[Team] << endl; } OutputNames = {}; OutputNames.insert(output.second); oldpenal = curpenal; if (count >= 3) { break; } } } amount++; } } } } | # 0244, 2024-11-02 15:31:34, PPPPPPPPPPPPPP-P-PP-- (80%) #include <bits/stdc++.h> using namespace std; map<string,int> Chart; map<string,int> Penalty; map<string,set<pair<int,int>>> PenaltyWrong; map<string,set<int>> QDone; int main(){ int num; cin >> num; while(num--){ int Time,Question; string Team,Mark; cin >> Time >> Team >> Question >> Mark; if (Mark == "T"){ if (QDone[Team].insert(Question).second) //add to done { //check if there is a wrong penalty for this Q for (auto c : PenaltyWrong){ if (c.first == Team){ //this team for (auto cc : c.second){ //all wrong penalties of this team if (cc.first == Question){ //cout << "Wrong Answer on " << Question << " Penalty 20" << endl; Penalty[Team] += 20; } } } } Penalty[Team] += Time; Chart[Team]+=1; } } else{ //wrong answer if (QDone[Team].count(Question) > 0) //already solved { } else{ PenaltyWrong[Team].insert(make_pair(Question,Time)); } } } int Maxscore =0; for (auto c : Chart){ Maxscore = max(Maxscore,c.second); //cout << c.first << " " << c.second <<" max= "<< Maxscore <<endl; //team, score, maxscore total } Maxscore+=1; int count = 0; while (Maxscore--) { //cout << Maxscore << " Count = " << count << endl; if (count >= 3){ break; } //cout << Maxscore << endl; vector<string> Scorelees; for (auto c : Chart){ if (c.second == Maxscore){ Scorelees.emplace_back(c.first); } } if (Scorelees.size() == 1){ //only 1 person has that score string Team = Scorelees[0]; cout << Team << " " << Chart[Team] << " " << Penalty[Team] << endl; } else { set<pair<int,string>> Check; //Penalty,Team for (auto team : Scorelees){ Check.emplace(Penalty[team],team); } int oldpenal =0; int curpenal =0; set<string> OutputNames; int amount = 0; //cout << Check.size(); for (auto output : Check){ if (oldpenal==0){ //cout << "First" << output.second <<endl; OutputNames.insert(output.second); oldpenal = output.first; } else{ curpenal = output.first; if (oldpenal == curpenal){ //cout << "Same Penal"<< output.second << endl; OutputNames.insert(output.second); } else if (oldpenal!= curpenal)//new penalty or last { //cout << "New Penal" << output.second << endl; for (auto out : OutputNames){ count++; string Team = out; cout << Team << " " << Chart[Team] << " " << Penalty[Team] << endl; } OutputNames = {}; OutputNames.insert(output.second); oldpenal = curpenal; if (count >= 3) { break; } } if (amount == Check.size()-1){ for (auto out : OutputNames){ count++; string Team = out; cout << Team << " " << Chart[Team] << " " << Penalty[Team] << endl; } } } amount++; } } } } |
# 0245, 2024-11-02 15:22:47, --------------------- (0%) #include <bits/stdc++.h> using namespace std; int main(){ map<string,int> pen,cnt; map<pair<string,int>,bool> now={}; map<pair<string,int>,int> countf; multiset<int> s; vector<pair<pair<int,int>,string>> v; int q,time,num,mx = 0; string name,tf; cin >> q; while(q--){ cin >> time >> name >> num >> tf; if(!pen[name])pen[name] = 0; if(!countf[{name,num}])countf[{name,num}] = 0; if(now[{name,num}] == true)continue; if(tf == "T"){ pen[name] += time + 20*countf[{name,num}]; now[{name,num}] = true; cnt[name]++; } if(tf == "F"){ countf[{name,num}]++; } } for(auto x:cnt){ s.insert(x.second); mx = max(mx,x.second); if(x.second > 0){ v.push_back({{-1*x.second,pen[x.first]},x.first}); } } sort(v.begin(),v.end()); int i = 0,temp1=0,temp2=0; for(auto x:v){ if(i == 3)break; if(temp1 == -1*x.first.first && temp2 == x.first.second)i--; cout << -1*x.first.first << " " << x.first.second << ' ' << x.second << endl; temp1 = -1*x.first.first; temp2 = x.first.second; i++; } } | # 0246, 2024-11-02 15:23:46, --------------------- (0%) #include <bits/stdc++.h> using namespace std; int main(){ map<string,int> pen,cnt; map<pair<string,int>,bool> now={}; map<pair<string,int>,int> countf; multiset<int> s; vector<pair<pair<int,int>,string>> v; int q,time,num,mx = 0; string name,tf; cin >> q; while(q--){ cin >> time >> name >> num >> tf; if(!pen[name])pen[name] = 0; if(!countf[{name,num}])countf[{name,num}] = 0; if(now[{name,num}] == true)continue; if(tf == "T"){ pen[name] += time + 20*countf[{name,num}]; now[{name,num}] = true; cnt[name]++; } if(tf == "F"){ countf[{name,num}]++; } } for(auto x:cnt){ s.insert(x.second); mx = max(mx,x.second); if(x.second > 0){ v.push_back({{-1*x.second,pen[x.first]},x.first}); } } sort(v.begin(),v.end()); int i = 0,temp1=0,temp2=0; for(auto x:v){ if(i == 3)break; if(temp1 == -1*x.first.first && temp2 == x.first.second)i--; cout << x.second << " " << x.first.second << ' ' << -1*x.first.first << endl; temp1 = -1*x.first.first; temp2 = x.first.second; i++; } } | # 0247, 2024-11-02 15:24:12, PPPPPPPPPPPPP-P----P- (71%) #include <bits/stdc++.h> using namespace std; int main(){ map<string,int> pen,cnt; map<pair<string,int>,bool> now={}; map<pair<string,int>,int> countf; multiset<int> s; vector<pair<pair<int,int>,string>> v; int q,time,num,mx = 0; string name,tf; cin >> q; while(q--){ cin >> time >> name >> num >> tf; if(!pen[name])pen[name] = 0; if(!countf[{name,num}])countf[{name,num}] = 0; if(now[{name,num}] == true)continue; if(tf == "T"){ pen[name] += time + 20*countf[{name,num}]; now[{name,num}] = true; cnt[name]++; } if(tf == "F"){ countf[{name,num}]++; } } for(auto x:cnt){ s.insert(x.second); mx = max(mx,x.second); if(x.second > 0){ v.push_back({{-1*x.second,pen[x.first]},x.first}); } } sort(v.begin(),v.end()); int i = 0,temp1=0,temp2=0; for(auto x:v){ if(i == 3)break; if(temp1 == -1*x.first.first && temp2 == x.first.second)i--; cout << x.second << " " << -1*x.first.first << ' ' << x.first.second << endl; temp1 = -1*x.first.first; temp2 = x.first.second; i++; } } | # 0248, 2024-11-02 15:29:49, PPPPPPPPPPPPP-P--PPP- (80%) #include <bits/stdc++.h> using namespace std; int main(){ map<string,int> pen,cnt; map<pair<string,int>,bool> now={}; map<pair<string,int>,int> countf; multiset<int> s; vector<pair<pair<int,int>,string>> v; int q,time,num,mx = 0; string name,tf; cin >> q; while(q--){ cin >> time >> name >> num >> tf; if(!pen[name])pen[name] = 0; if(!countf[{name,num}])countf[{name,num}] = 0; if(now[{name,num}] == true)continue; if(tf == "T"){ pen[name] += time + 20*countf[{name,num}]; now[{name,num}] = true; cnt[name]++; } if(tf == "F"){ countf[{name,num}]++; } } for(auto x:cnt){ s.insert(x.second); mx = max(mx,x.second); if(x.second > 0){ v.push_back({{-1*x.second,pen[x.first]},x.first}); } } sort(v.begin(),v.end()); int i = 0,temp1=0,temp2=0,ct = 0; for(auto x:v){ if(i == 3)break; if((temp1 != -1*x.first.first || temp2 != x.first.second) && ct > 3)break; if(temp1 == -1*x.first.first && temp2 == x.first.second)i--; cout << x.second << " " << -1*x.first.first << ' ' << x.first.second << endl; temp1 = -1*x.first.first; temp2 = x.first.second; i++; ct++; } } |
# 0249, 2024-11-02 14:23:02, PP-PPPPPPPPPPPPPP--P- (80%) #include <iostream> #include <tuple> #include <map> #include <set> std::string teamName, problem, result; int submitTime; std::map<std::string, int> penaltyOfTeam; std::map<std::string, int> scoreOfTeam; std::map<std::string, std::map<std::string, bool>> probStatus; int totalSubmission; std::set<std::tuple<int, int, std::string>> toPrint; // score penalty teamName int main() { std::cin >> totalSubmission; for (int i = 0; i < totalSubmission; i++) { std::cin >> submitTime >> teamName >> problem >> result; if (probStatus[teamName][problem]) // if already passed continue; else if (result == "T") // did not pass, now do { probStatus[teamName][problem] = true; penaltyOfTeam[teamName] += submitTime; scoreOfTeam[teamName]++; } else if (result == "F") // did not pass, and still doesn't { penaltyOfTeam[teamName] += 20; } } // iterating over the teams that have atleast 1 score for (auto team = scoreOfTeam.begin(); team != scoreOfTeam.end(); team++) { toPrint.insert(std::make_tuple(-scoreOfTeam[team->first], penaltyOfTeam[team->first], team->first)); } // printing int previousScore = 0, previousPenalty= 0, counter = 3, printed = 0; for (auto x : toPrint) { if (previousScore != -std::get<0>(x) || previousPenalty != std::get<1>(x)) counter--; else printed--; if (counter < 0) break; if (printed > 2) break; std::cout << std::get<2>(x) << " " << -std::get<0>(x) << " " << std::get<1>(x) << "\n"; previousScore = -std::get<0>(x); previousPenalty = std::get<1>(x); printed++; } } |
# 0250, 2024-11-02 11:58:55, PPPP-P--------------- (23%) #include<bits/stdc++.h> using namespace std; int main(){ // num penal map<string, pair<int, int>> p; // choice check map<string, map<int, bool>> pc; map<string, map<int, int>> pcpenal; string name, check; int c, time; int n; cin >> n; while(n--){ cin >> time >> name >> c >> check; if (p.find(name) == p.end()) { p[name].first = 0; p[name].second = 0; // cout << endl << "create new p with 0 done 0 penal " << name << endl; } if(pc[name].find(c) == pc[name].end()){ pc[name][c] = false; // cout << "create new c : " << c << " for " << name << endl; } if(pcpenal[name].find(c) == pcpenal[name].end()){ pcpenal[name][c] = 0; } if(check=="T"){ if(pc[name][c] == false){ p[name].first += 1; pc[name][c] = true; p[name].second += time; p[name].second += pcpenal[name][c]; // cout << "penal of " << name << " " << p[name].second << endl; // cout << name << " (correct ) penal += " << time+pcpenal[name][c] << " choice " << c << " check" << endl; } } else if(check=="F"){ if(pc[name][c] == false){ pcpenal[name][c] += 20; // cout << name << " (wrong ) pcpenal += 20 " << endl; } } } map<int, vector<pair<string, int>>> ans; // check for(auto i=p.begin();i!=p.end();i++){ // cout << (*i).first << " " << (*i).second.first << " " << (*i).second.second << endl; if(ans.find((*i).second.first) == ans.end()){ ans[(*i).second.first] = {}; } ans[(*i).second.first].push_back(make_pair((*i).first, (*i).second.second)); // cout << "push ans " << endl; sort(ans[(*i).second.first].begin(), ans[(*i).second.first].end()); } // print ans // cout << "PRINT ANS" << endl; for(auto it = ans.begin() ; it != ans.end() ; it++){ for(int i=0 ; i<(*it).second.size() ; i++){ cout << (*it).second[i].first << " " << (*it).first << " " << (*it).second[i].second << endl; } } } | # 0251, 2024-11-02 12:09:39, PPPPPPPPP--P-PPPPPP-- (76%) #include<bits/stdc++.h> using namespace std; int main(){ // num penal map<string, pair<int, int>> p; // choice check map<string, map<int, bool>> pc; map<string, map<int, int>> pcpenal; string name, check; int c, time; int n; cin >> n; while(n--){ cin >> time >> name >> c >> check; if (p.find(name) == p.end()) { p[name].first = 0; p[name].second = 0; // cout << endl << "create new p with 0 done 0 penal " << name << endl; } if(pc[name].find(c) == pc[name].end()){ pc[name][c] = false; // cout << "create new c : " << c << " for " << name << endl; } if(pcpenal[name].find(c) == pcpenal[name].end()){ pcpenal[name][c] = 0; } if(check=="T"){ if(pc[name][c] == false){ p[name].first += 1; pc[name][c] = true; p[name].second += time; p[name].second += pcpenal[name][c]; // cout << "penal of " << name << " " << p[name].second << endl; // cout << name << " (correct ) penal += " << time+pcpenal[name][c] << " choice " << c << " check" << endl; } } else if(check=="F"){ if(pc[name][c] == false){ pcpenal[name][c] += 20; // cout << name << " (wrong ) pcpenal += 20 " << endl; } } } map<int, vector<pair<int, string>>> ans; // check for(auto i=p.begin();i!=p.end();i++){ // cout << (*i).first << " " << (*i).second.first << " " << (*i).second.second << endl; if(ans.find((*i).second.first) == ans.end()){ ans[(*i).second.first] = {}; } ans[(*i).second.first].push_back(make_pair((*i).second.second, (*i).first)); // cout << "push ans " << endl; sort(ans[(*i).second.first].begin(), ans[(*i).second.first].end()); } // print ans // cout << "PRINT ANS" << endl; int count = 1; for(auto it = ans.rbegin() ; it != ans.rend() ; it++){ // bool skip = false; if(count == 3) break; for(int i=0 ; i<(*it).second.size() ; i++){ cout << (*it).second[i].second << " " << (*it).first << " " << (*it).second[i].first << endl; } count++; } } |
# 0252, 2024-11-02 11:27:03, Compilation error (0%) #include<bits/stdc++.h> using namespace std; bool cmp(pair<string,pair<int,int> >&a,pair<string,pair<int,int> >&b){ if(a.second.first==b.second.first)return a.second.second<b.second.second; return a.second.first>b.second.first; } int main(){ int n; cin>>n; map<string,pair<int,int> > m; map<string, int> p; map<string,int > ti; for(int i=0;i<n;i++){ int t; cin>>t; string a; int num; char boo; cin>>a>>num>>boo; ti[a]+=t; if(boo=='T'){ p[a]++; m[a].second = ti[a];} } vector<pair<string,pair<int,int > > >temp; for(auto i:p){ m[i.first].first = i.second; } for(auto i:m){ temp.push_back(i); } sort(temp.begin(),temp.end(),cmp); for(int i=0;i<3;i++){ if(temp[i].second.first!=0) cout<<temp[i].first<<" "<<temp[i].second.first<<" "<<temp[i].second.second<<endl; } | # 0253, 2024-11-02 11:27:29, P---PPP-PPP-P-P------ (42%) #include<bits/stdc++.h> using namespace std; bool cmp(pair<string,pair<int,int> >&a,pair<string,pair<int,int> >&b){ if(a.second.first==b.second.first)return a.second.second<b.second.second; return a.second.first>b.second.first; } int main(){ int n; cin>>n; map<string,pair<int,int> > m; map<string, int> p; map<string,int > ti; for(int i=0;i<n;i++){ int t; cin>>t; string a; int num; char boo; cin>>a>>num>>boo; ti[a]+=t; if(boo=='T'){ p[a]++; m[a].second = ti[a];} } vector<pair<string,pair<int,int > > >temp; for(auto i:p){ m[i.first].first = i.second; } for(auto i:m){ temp.push_back(i); } sort(temp.begin(),temp.end(),cmp); for(int i=0;i<3;i++){ if(temp[i].second.first!=0) cout<<temp[i].first<<" "<<temp[i].second.first<<" "<<temp[i].second.second<<endl; } } | # 0254, 2024-11-02 11:36:49, P---PPP---P--P-P----- (33%) #include<bits/stdc++.h> using namespace std; bool cmp(pair<string,pair<int,int> >&a,pair<string,pair<int,int> >&b){ if(a.second.first==b.second.first)return a.second.second<b.second.second; return a.second.first>b.second.first; } int main(){ int n; cin>>n; map<string,pair<int,int> > m; map<string, int> p; map<string,int > ti; map<string,char> ch; for(int i=0;i<n;i++){ int t; cin>>t; string a; int num; char boo; cin>>a>>num>>boo; ti[a]+=t; if(boo=='T'){ if(ch[a]=='F')ti[a]+=20; p[a]++; m[a].second = ti[a];} ch[a]=boo; } vector<pair<string,pair<int,int > > >temp; for(auto i:p){ m[i.first].first = i.second; } for(auto i:m){ temp.push_back(i); } sort(temp.begin(),temp.end(),cmp); for(int i=0;i<3;i++){ if(temp[i].second.first!=0){ cout<<temp[i].first<<" "<<temp[i].second.first<<" "<<temp[i].second.second<<endl; if(i==2){ if(temp[3].second.first==temp[i].second.first&&temp[3].second.second==temp[i].second.second) i++; cout<<temp[i].first<<" "<<temp[i].second.first<<" "<<temp[i].second.second<<endl; } } } } | # 0255, 2024-11-02 11:38:17, P---PPP-PPP-PPPP----- (52%) #include<bits/stdc++.h> using namespace std; bool cmp(pair<string,pair<int,int> >&a,pair<string,pair<int,int> >&b){ if(a.second.first==b.second.first)return a.second.second<b.second.second; return a.second.first>b.second.first; } int main(){ int n; cin>>n; map<string,pair<int,int> > m; map<string, int> p; map<string,int > ti; map<string,char> ch; for(int i=0;i<n;i++){ int t; cin>>t; string a; int num; char boo; cin>>a>>num>>boo; ti[a]+=t; if(boo=='T'){ if(ch[a]=='F')ti[a]+=20; p[a]++; m[a].second = ti[a];} ch[a]=boo; } vector<pair<string,pair<int,int > > >temp; for(auto i:p){ m[i.first].first = i.second; } for(auto i:m){ temp.push_back(i); } sort(temp.begin(),temp.end(),cmp); for(int i=0;i<3;i++){ if(temp[i].second.first!=0){ cout<<temp[i].first<<" "<<temp[i].second.first<<" "<<temp[i].second.second<<endl; if(i==2){ if(temp[3].second.first==temp[i].second.first&&temp[3].second.second==temp[i].second.second) {i++; cout<<temp[i].first<<" "<<temp[i].second.first<<" "<<temp[i].second.second<<endl;} } } } } | # 0256, 2024-11-02 11:42:46, PP-PPPP-PPPPPPPP----- (66%) #include<bits/stdc++.h> using namespace std; bool cmp(pair<string,pair<int,int> >&a,pair<string,pair<int,int> >&b){ if(a.second.first==b.second.first)return a.second.second<b.second.second; return a.second.first>b.second.first; } int main(){ int n; cin>>n; map<string,pair<int,int> > m; map<string, int> p; map<string,int > ti; map<string,char> ch; for(int i=0;i<n;i++){ int t; cin>>t; string a; int num; char boo; cin>>a>>num>>boo; if(boo=='T'){ ti[a]+=t; if(ch[a]=='F')ti[a]+=20; p[a]++; m[a].second = ti[a];} ch[a]=boo; } vector<pair<string,pair<int,int > > >temp; for(auto i:p){ m[i.first].first = i.second; } for(auto i:m){ temp.push_back(i); } sort(temp.begin(),temp.end(),cmp); for(int i=0;i<3;i++){ if(temp[i].second.first!=0){ cout<<temp[i].first<<" "<<temp[i].second.first<<" "<<temp[i].second.second<<endl; if(i==2){ if(temp[3].second.first==temp[i].second.first&&temp[3].second.second==temp[i].second.second) {i++; cout<<temp[i].first<<" "<<temp[i].second.first<<" "<<temp[i].second.second<<endl;} } } } } | # 0257, 2024-11-02 11:55:49, PP-PPPPPPPPPPPPP----- (71%) #include<bits/stdc++.h> using namespace std; bool cmp(pair<string,pair<int,int> >&a,pair<string,pair<int,int> >&b){ if(a.second.first==b.second.first)return a.second.second<b.second.second; return a.second.first>b.second.first; } int main(){ int n; cin>>n; map<string,pair<int,int> > m; map<string, int> p; map<string,int > ti; map<string,char> ch; map<string, vector<int> > pch; for(int i=0;i<n;i++){ int t; cin>>t; string a; int num; char boo; cin>>a>>num>>boo; if(boo=='T'){ if(find(pch[a].begin(),pch[a].end(),num)==pch[a].end()){ ti[a]+=t; p[a]++; if(ch[a]=='F')ti[a]+=20; pch[a].push_back(num); } //p[a]++; m[a].second = ti[a];} ch[a]=boo; } vector<pair<string,pair<int,int > > >temp; for(auto i:p){ m[i.first].first = i.second; } for(auto i:m){ temp.push_back(i); } sort(temp.begin(),temp.end(),cmp); for(int i=0;i<3;i++){ if(temp[i].second.first!=0){ cout<<temp[i].first<<" "<<temp[i].second.first<<" "<<temp[i].second.second<<endl; if(i==2){ if(temp[3].second.first==temp[i].second.first&&temp[3].second.second==temp[i].second.second) {i++; cout<<temp[i].first<<" "<<temp[i].second.first<<" "<<temp[i].second.second<<endl;} } } } } | # 0258, 2024-11-02 12:09:41, P---PPPPPPP-PPPP----- (57%) #include<bits/stdc++.h> using namespace std; bool cmp(pair<string,pair<int,int> >&a,pair<string,pair<int,int> >&b){ if(a.second.first==b.second.first)return a.second.second<b.second.second; return a.second.first>b.second.first; } int main(){ int n; cin>>n; map<string,pair<int,int> > m; map<string, int> p; map<string,int > ti,co; map<string,char> ch; map<string, vector<int> > pch; for(int i=0;i<n;i++){ int t; cin>>t; string a; int num; char boo; cin>>a>>num>>boo; if(boo=='T'){ if(find(pch[a].begin(),pch[a].end(),num)==pch[a].end()){ ti[a]+=t; p[a]++; if(ch[a]=='F')ti[a]+=40; pch[a].push_back(num); } //p[a]++; m[a].second = ti[a];} ch[a]=boo; } vector<pair<string,pair<int,int > > >temp; for(auto i:p){ m[i.first].first = i.second; } for(auto i:m){ temp.push_back(i); } sort(temp.begin(),temp.end(),cmp); for(int i=0;i<3;i++){ if(temp[i].second.first!=0){ cout<<temp[i].first<<" "<<temp[i].second.first<<" "<<temp[i].second.second<<endl; if(i==2){ if(temp[3].second.first==temp[i].second.first&&temp[3].second.second==temp[i].second.second) {i++; cout<<temp[i].first<<" "<<temp[i].second.first<<" "<<temp[i].second.second<<endl;} } } } } | # 0259, 2024-11-02 12:10:43, PP-PPPPPPPPPPPPP----- (71%) #include<bits/stdc++.h> using namespace std; bool cmp(pair<string,pair<int,int> >&a,pair<string,pair<int,int> >&b){ if(a.second.first==b.second.first)return a.second.second<b.second.second; return a.second.first>b.second.first; } int main(){ int n; cin>>n; map<string,pair<int,int> > m; map<string, int> p; map<string,int > ti; map<string,char> ch; map<string, vector<int> > pch; for(int i=0;i<n;i++){ int t; cin>>t; string a; int num; char boo; cin>>a>>num>>boo; if(boo=='T'){ if(find(pch[a].begin(),pch[a].end(),num)==pch[a].end()){ ti[a]+=t; p[a]++; if(ch[a]=='F')ti[a]+=20; pch[a].push_back(num); } //p[a]++; m[a].second = ti[a];} ch[a]=boo; } vector<pair<string,pair<int,int > > >temp; for(auto i:p){ m[i.first].first = i.second; } for(auto i:m){ temp.push_back(i); } sort(temp.begin(),temp.end(),cmp); for(int i=0;i<3;i++){ if(temp[i].second.first!=0){ cout<<temp[i].first<<" "<<temp[i].second.first<<" "<<temp[i].second.second<<endl; if(i==2){ if(temp[3].second.first==temp[i].second.first&&temp[3].second.second==temp[i].second.second) {i++; cout<<temp[i].first<<" "<<temp[i].second.first<<" "<<temp[i].second.second<<endl;} } } } } | # 0260, 2024-11-02 12:11:08, P---PPPPPPP-PPPP----- (57%) #include<bits/stdc++.h> using namespace std; bool cmp(pair<string,pair<int,int> >&a,pair<string,pair<int,int> >&b){ if(a.second.first==b.second.first)return a.second.second<b.second.second; return a.second.first>b.second.first; } int main(){ int n; cin>>n; map<string,pair<int,int> > m; map<string, int> p; map<string,int > ti; map<string,char> ch; map<string, vector<int> > pch; for(int i=0;i<n;i++){ int t; cin>>t; string a; int num; char boo; cin>>a>>num>>boo; if(boo=='T'){ if(find(pch[a].begin(),pch[a].end(),num)==pch[a].end()){ ti[a]+=t; p[a]++; if(ch[a]=='F')ti[a]+=40; pch[a].push_back(num); } //p[a]++; m[a].second = ti[a];} ch[a]=boo; } vector<pair<string,pair<int,int > > >temp; for(auto i:p){ m[i.first].first = i.second; } for(auto i:m){ temp.push_back(i); } sort(temp.begin(),temp.end(),cmp); for(int i=0;i<3;i++){ if(temp[i].second.first!=0){ cout<<temp[i].first<<" "<<temp[i].second.first<<" "<<temp[i].second.second<<endl; if(i==2){ if(temp[3].second.first==temp[i].second.first&&temp[3].second.second==temp[i].second.second) {i++; cout<<temp[i].first<<" "<<temp[i].second.first<<" "<<temp[i].second.second<<endl;} } } } } |
# 0261, 2024-11-02 14:25:12, PPPP-P---P----------- (28%) #include<iostream> #include<map> #include<algorithm> #include<string> int main(){ int g; std::cin>>g; int time[g]; std::string name[g]; int qua[g]; bool tr[g]; std::map<std::string,std::pair<int,int>> tpt; //std::map<std::string,int> tpq; for (int i = 0; i <g; i++) { char h; std::cin>>time[i]>>name[i]>>qua[i]>>h; tr[i]=(h=='T'); if(tr[i]) { int timein = time[i]; if(tpt[name[i]].first>0)tpt[name[i]].first+=1; else tpt[name[i]].first=1; for (int j = i-1; j >= 0; j--) { if(name[j]==name[i]&&!tr[j]&&qua[i]==qua[j]) timein+=20; else if(name[j]==name[i]&&tr[j]&&qua[i]==qua[j]){ timein=0; tpt[name[i]].first-=1; break; } } if(tpt[name[i]].second>0)tpt[name[i]].second+=timein; else tpt[name[i]].second=timein; } } for (auto i : tpt) { std::cout<<i.first<<" "<<i.second.first<<" "<<i.second.second<<"\n"; } } | # 0262, 2024-11-02 15:07:17, xxxxxxxxxxxxPTPTTTTP- (14%) #include<iostream> #include<map> #include<algorithm> #include<string> #include<utility> int main(){ int g; std::cin>>g; int time[g]; std::string name[g]; int qua[g]; bool tr[g]; std::map<std::string,std::pair<int,int>> tpt; //std::map<std::string,int> tpq; for (int i = 0; i <g; i++) { char h; std::cin>>time[i]>>name[i]>>qua[i]>>h; tr[i]=(h=='T'); if(tr[i]) { int timein = time[i]; if(tpt[name[i]].first>0)tpt[name[i]].first+=1; else tpt[name[i]].first=1; for (int j = i-1; j >= 0; j--) { if(name[j]==name[i]&&!tr[j]&&qua[i]==qua[j]) timein+=20; else if(name[j]==name[i]&&tr[j]&&qua[i]==qua[j]){ timein=0; tpt[name[i]].first-=1; break; } } if(tpt[name[i]].second>0)tpt[name[i]].second+=timein; else tpt[name[i]].second=timein; } } int si=0; si=tpt.size(); std::string key[si]; int l=0; for (auto i : tpt) { key[l]=i.first; l++; } //std::cout<<si <<"\n"; for(int i=0;i<si;) { int mor=0; for(int j=i+1;j<si;j++) { if(tpt[key[i]].first<tpt[key[j]].first) { mor++; } if(tpt[key[i]].first==tpt[key[j]].first) { if(tpt[key[i]].second>tpt[key[j]].second) { mor++; } } } std::string fi=key[i]; std::string se=key[i+mor]; key[i]=se; key[i+mor]=fi; if(mor==0)i++; } int k=0; for (int i=0;i<si;i++) { if(k<3&&tpt[key[i]].first>0) { std::cout<<key[i]<<" "<<tpt[key[i]].first<<" "<<tpt[key[i]].second<<"\n"; } else break; if(tpt[key[i]].first!=tpt[key[i+1]].first||tpt[key[i]].second!=tpt[key[i+1]].second)k++; } } | # 0263, 2024-11-02 15:13:45, PPPPPPPPPPPP-T-TTTT-- (57%) #include<iostream> #include<map> #include<algorithm> #include<string> #include<utility> int main(){ int g; std::cin>>g; int time[g]; std::string name[g]; int qua[g]; bool tr[g]; std::map<std::string,std::pair<int,int>> tpt; //std::map<std::string,int> tpq; for (int i = 0; i <g; i++) { char h; std::cin>>time[i]>>name[i]>>qua[i]>>h; tr[i]=(h=='T'); if(tr[i]) { int timein = time[i]; if(tpt[name[i]].first>0)tpt[name[i]].first+=1; else tpt[name[i]].first=1; for (int j = i-1; j >= 0; j--) { if(name[j]==name[i]&&!tr[j]&&qua[i]==qua[j]) timein+=20; else if(name[j]==name[i]&&tr[j]&&qua[i]==qua[j]){ timein=0; tpt[name[i]].first-=1; break; } } if(tpt[name[i]].second>0)tpt[name[i]].second+=timein; else tpt[name[i]].second=timein; } } /*for (auto i : tpt) { std::cout<<i.first<<"--"<<i.second.first<<"--"<<i.second.second<<"\n"; }*/ int si=0; si=tpt.size(); std::string key[si]; int l=0; for (auto i : tpt) { key[l]=i.first; l++; } //std::cout<<si <<"\n"; for(int i=0;i<si;) { int mor=0; for(int j=i+1;j<si;j++) { if(tpt[key[i]].first<tpt[key[j]].first) { mor++; } if(tpt[key[i]].first==tpt[key[j]].first) { if(tpt[key[i]].second>tpt[key[j]].second) { mor++; } } } std::string fi=key[i]; std::string se=key[i+mor]; key[i]=se; key[i+mor]=fi; if(mor==0)i++; } int k=0; //std::cout<<"size:"<<si<<"\n"; int tem1 =0,tem2=0; for (int i=0;i<si;i++) { if(k<3) { std::cout<<key[i]<<" "<<tpt[key[i]].first<<" "<<tpt[key[i]].second<<"\n"; } else break; if(i==0){ tem1=tpt[key[i]].first; tem2=tpt[key[i]].second; } else { if (tem1!=tpt[key[i]].first||tem2!=tpt[key[i]].second) { k++; tem1=tpt[key[i]].first; tem2=tpt[key[i]].second; } } } } | # 0264, 2024-11-02 15:16:41, PPPPPPPPPPPPPTPTTTTP- (71%) #include<iostream> #include<map> #include<algorithm> #include<string> #include<utility> int main(){ int g; std::cin>>g; int time[g]; std::string name[g]; int qua[g]; bool tr[g]; std::map<std::string,std::pair<int,int>> tpt; //std::map<std::string,int> tpq; for (int i = 0; i <g; i++) { char h; std::cin>>time[i]>>name[i]>>qua[i]>>h; tr[i]=(h=='T'); if(tr[i]) { int timein = time[i]; if(tpt[name[i]].first>0)tpt[name[i]].first+=1; else tpt[name[i]].first=1; for (int j = i-1; j >= 0; j--) { if(name[j]==name[i]&&!tr[j]&&qua[i]==qua[j]) timein+=20; else if(name[j]==name[i]&&tr[j]&&qua[i]==qua[j]){ timein=0; tpt[name[i]].first-=1; break; } } if(tpt[name[i]].second>0)tpt[name[i]].second+=timein; else tpt[name[i]].second=timein; } } /*for (auto i : tpt) { std::cout<<i.first<<"--"<<i.second.first<<"--"<<i.second.second<<"\n"; }*/ int si=0; si=tpt.size(); std::string key[si]; int l=0; for (auto i : tpt) { key[l]=i.first; l++; } //std::cout<<si <<"\n"; for(int i=0;i<si;) { int mor=0; for(int j=i+1;j<si;j++) { if(tpt[key[i]].first<tpt[key[j]].first) { mor++; } if(tpt[key[i]].first==tpt[key[j]].first) { if(tpt[key[i]].second>tpt[key[j]].second) { mor++; } } } std::string fi=key[i]; std::string se=key[i+mor]; key[i]=se; key[i+mor]=fi; if(mor==0)i++; } int k=0; //std::cout<<"size:"<<si<<"\n"; int tem1 =0,tem2=0; for (int i=0;i<si;i++) { if(i==0){ tem1=tpt[key[i]].first; tem2=tpt[key[i]].second; } else { if (tem1!=tpt[key[i]].first||tem2!=tpt[key[i]].second) { k++; tem1=tpt[key[i]].first; tem2=tpt[key[i]].second; } } if(k<3) { std::cout<<key[i]<<" "<<tpt[key[i]].first<<" "<<tpt[key[i]].second<<"\n"; } else break; } } | # 0265, 2024-11-02 15:29:29, PPPPPPPPPPPPP-P----P- (71%) #include<iostream> #include<map> #include<algorithm> #include<string> #include<utility> int main(){ int g; std::cin>>g; int time[g]; std::string name[g]; int qua[g]; bool tr[g]; std::map<std::string,std::pair<int,int>> tpt; //std::map<std::string,int> tpq; for (int i = 0; i <g; i++) { char h; std::cin>>time[i]>>name[i]>>qua[i]>>h; tr[i]=(h=='T'); if(tr[i]) { int timein = time[i]; if(tpt[name[i]].first>0)tpt[name[i]].first+=1; else tpt[name[i]].first=1; for (int j = i-1; j >= 0; j--) { if(name[j]==name[i]&&!tr[j]&&qua[i]==qua[j]) timein+=20; else if(name[j]==name[i]&&tr[j]&&qua[i]==qua[j]){ timein=0; tpt[name[i]].first-=1; break; } } if(tpt[name[i]].second>0)tpt[name[i]].second+=timein; else tpt[name[i]].second=timein; } } /* for (auto i : tpt) { std::cout<<i.first<<"--"<<i.second.first<<"--"<<i.second.second<<"\n"; } */ int si=0; si=tpt.size(); std::string key[si]; int l=0; for (auto i : tpt) { key[l]=i.first; l++; } //std::cout<<si <<"\n"; for(int i=0;i<si;) { int mor=0; for(int j=i+1;j<si;j++) { if(tpt[key[i]].first<tpt[key[j]].first) { mor++; //std::cout<<key[i]<<"--"<<key[j]<<"\n"; } if(tpt[key[i]].first==tpt[key[j]].first) { if(tpt[key[i]].second>tpt[key[j]].second) { mor++; //std::cout<<key[i]<<"--"<<key[j]<<"\n"; } } } for(int j=i+mor;j<si;j++) { if(mor==0) { i++; break; } if(tpt[key[i]].second!=tpt[key[j]].second||tpt[key[i]].first!=tpt[key[j]].first){ std::string fi=key[i]; std::string se=key[j]; key[i]=se; key[j]=fi; break; } } } int k=0; //std::cout<<"size:"<<si<<"\n"; int tem1 =0,tem2=0; for (int i=0;i<si;i++) { if(i==0){ tem1=tpt[key[i]].first; tem2=tpt[key[i]].second; } else { if (tem1!=tpt[key[i]].first||tem2!=tpt[key[i]].second) { k++; tem1=tpt[key[i]].first; tem2=tpt[key[i]].second; } } if(k<3) { std::cout<<key[i]<<" "<<tpt[key[i]].first<<" "<<tpt[key[i]].second<<"\n"; } else break; } } |
# 0266, 2024-11-02 14:56:56, P-P--P---P----------- (19%) #include<iostream> #include<map> #include<utility> #include<string> using namespace std; int main() { int n; cin>>n; string name,TF; int time,test; map<string,pair<int,int>> out; map<pair<string,int>,int> F_check; map<pair<string,int>,bool> pass; while(n--) { cin>>time>>name>>test>>TF; pair<string,int> check(name,test); if(pass.find(check)==pass.end()) { if(TF=="T") { pass[check]=true; } else { pass[check]=false; } } else { if(pass[check]) { continue; } if(TF=="T") { pass[check]=true; } } if(TF=="T") { if(out.find(name)!=out.end()) { ++out[name].first; out[name].second+=time; if(F_check.find(check)!=F_check.end()) { out[name].second+=F_check[check]*20; } } else { pair<int,int> in(1,time); out[name]=in; } } else { if(F_check.find(check)!=F_check.end()) { ++F_check[check]; } else { F_check[check]=1; } } } for(auto itr : out) { pair<int,int> itr_out=itr.second; cout<<itr.first<<" "<<itr_out.first<<" "<<itr_out.second<<endl; } return 0; } | # 0267, 2024-11-02 15:17:08, P-P--PPP-P----------- (28%) #include<iostream> #include<map> #include<utility> #include<string> #include<vector> using namespace std; int main() { int n; cin>>n; string name,TF; int time,test; map<string,pair<int,int>> out; map<pair<string,int>,int> F_check; map<pair<string,int>,bool> pass; while(n--) { cin>>time>>name>>test>>TF; pair<string,int> check(name,test); if(pass.find(check)==pass.end()) { if(TF=="T") { pass[check]=true; } else { pass[check]=false; } } else { if(pass[check]) { continue; } if(TF=="T") { pass[check]=true; } } if(TF=="T") { if(out.find(name)!=out.end()) { ++out[name].first; out[name].second+=time; if(F_check.find(check)!=F_check.end()) { out[name].second+=F_check[check]*20; } } else { pair<int,int> in(1,time); out[name]=in; } } else { if(F_check.find(check)!=F_check.end()) { ++F_check[check]; } else { F_check[check]=1; } } } map<pair<int,int>,vector<string>> top3; for(auto itr : out) { pair<int,int> itr_out=itr.second; itr_out.first*=-1; itr_out.second*=-1; top3[itr_out].push_back(itr.first); } for(auto itr : top3) { pair<int,int> itr_out=itr.first; vector<string> itr_string=itr.second; for(auto itr2 : itr_string) { cout<<itr2<<" "<<itr_out.first*-1<<" "<<itr_out.second*-1<<endl; } } return 0; } | # 0268, 2024-11-02 15:18:50, P-P--PPP-P----------- (28%) #include<iostream> #include<map> #include<utility> #include<string> #include<vector> using namespace std; int main() { int n; cin>>n; string name,TF; int time,test; map<string,pair<int,int>> out; map<pair<string,int>,int> F_check; map<pair<string,int>,bool> pass; while(n--) { cin>>time>>name>>test>>TF; pair<string,int> check(name,test); if(pass.find(check)==pass.end()) { if(TF=="T") { pass[check]=true; } else { pass[check]=false; } } else { if(pass[check]) { continue; } if(TF=="T") { pass[check]=true; } } if(TF=="T") { if(out.find(name)!=out.end()) { ++out[name].first; out[name].second+=time; if(F_check.find(check)!=F_check.end()) { out[name].second+=F_check[check]*20; } } else { pair<int,int> in(1,time); out[name]=in; } } else { if(F_check.find(check)!=F_check.end()) { ++F_check[check]; } else { F_check[check]=1; } } } map<pair<int,int>,vector<string>> top3; for(auto itr : out) { pair<int,int> itr_out=itr.second; itr_out.first*=-1; itr_out.second*=-1; top3[itr_out].push_back(itr.first); } int run=0; for(auto itr : top3) { if(run<3) ++run; else break; pair<int,int> itr_out=itr.first; vector<string> itr_string=itr.second; for(auto itr2 : itr_string) { cout<<itr2<<" "<<itr_out.first*-1<<" "<<itr_out.second*-1<<endl; } } return 0; } | # 0269, 2024-11-02 15:21:38, P-P-PPPPPPP-PPPPP--P- (71%) #include<iostream> #include<map> #include<utility> #include<string> #include<vector> using namespace std; int main() { int n; cin>>n; string name,TF; int time,test; map<string,pair<int,int>> out; map<pair<string,int>,int> F_check; map<pair<string,int>,bool> pass; while(n--) { cin>>time>>name>>test>>TF; pair<string,int> check(name,test); if(pass.find(check)==pass.end()) { if(TF=="T") { pass[check]=true; } else { pass[check]=false; } } else { if(pass[check]) { continue; } if(TF=="T") { pass[check]=true; } } if(TF=="T") { if(out.find(name)!=out.end()) { ++out[name].first; out[name].second+=time; if(F_check.find(check)!=F_check.end()) { out[name].second+=F_check[check]*20; } } else { pair<int,int> in(1,time); out[name]=in; } } else { if(F_check.find(check)!=F_check.end()) { ++F_check[check]; } else { F_check[check]=1; } } } map<pair<int,int>,vector<string>> top3; for(auto itr : out) { pair<int,int> itr_out=itr.second; itr_out.first*=-1; top3[itr_out].push_back(itr.first); } int run=0; for(auto itr : top3) { if(run<3) ++run; else break; pair<int,int> itr_out=itr.first; vector<string> itr_string=itr.second; for(auto itr2 : itr_string) { cout<<itr2<<" "<<itr_out.first*-1<<" "<<itr_out.second<<endl; } } return 0; } |
# 0270, 2024-11-02 09:52:20, PPPPPPPPPP-PP-P----P- (66%) #include "bits/stdc++.h" using namespace std; struct edge{ int get; int pen; set<int > memg; map<int, int> fail; }; struct final{ string name; int fget; int fpen; bool operator < (const final& x) const{ if(fget == x.fget){ return fpen > x.fpen; } return fget < x.fget; } }; unordered_map <string , edge> ump; priority_queue < final> pq; int main(){ int n; cin >> n; for(int i=0;i<n;i++){ int t,p; string name; string sflag; cin >> t >> name >> p >> sflag; bool flag = (sflag == "T") ? true : false; if(flag){ if(ump[name].memg.find(p) != ump[name].memg.end()){ continue; } ump[name].memg.insert(p); ump[name].get++; ump[name].pen+=t; if(ump[name].fail.find(p) != ump[name].fail.end()){ ump[name].pen += ump[name].fail[p]*20; } } if(!flag){ ump[name].fail[p]++; } } for(auto x : ump){ final tmp; tmp.name = x.first; tmp.fget = x.second.get; tmp.fpen = x.second.pen; pq.push(tmp); } n = 0; while (!pq.empty()){ if(n==3) return 0; cout << pq.top().name << " " << pq.top().fget << " " << pq.top().fpen << "\n"; pq.pop(); n++; } return 0; } | # 0271, 2024-11-02 09:53:26, PPPPPPPPPPPPP-P----P- (71%) #include "bits/stdc++.h" using namespace std; struct edge{ int get; int pen; set<int > memg; map<int, int> fail; }; struct final{ string name; int fget; int fpen; bool operator < (const final& x) const{ if(fget == x.fget){ return fpen > x.fpen; } return fget < x.fget; } }; unordered_map <string , edge> ump; priority_queue < final> pq; int main(){ int n; cin >> n; for(int i=0;i<n;i++){ int t,p; string name; string sflag; cin >> t >> name >> p >> sflag; bool flag = (sflag == "T") ? true : false; if(flag){ if(ump[name].memg.find(p) != ump[name].memg.end()){ continue; } ump[name].memg.insert(p); ump[name].get++; ump[name].pen+=t; if(ump[name].fail.find(p) != ump[name].fail.end()){ ump[name].pen += ump[name].fail[p]*20; } } if(!flag){ ump[name].fail[p]++; } } for(auto x : ump){ final tmp; tmp.name = x.first; tmp.fget = x.second.get; tmp.fpen = x.second.pen; pq.push(tmp); } n = 0; while (!pq.empty()){ if(n==3 || pq.top().fget == 0) return 0; cout << pq.top().name << " " << pq.top().fget << " " << pq.top().fpen << "\n"; pq.pop(); n++; } return 0; } |
# 0272, 2024-11-02 11:31:52, PPPPPPPPPP-PP-P----P- (66%) #include <bits/stdc++.h> using namespace std; struct team { int num, time; string name; }; bool cmp(const team &a, const team &b) { if (a.num == b.num) { return a.time < b.time; } return a.num > b.num; } int main() { int n; cin >> n; unordered_map<string, int> time; unordered_map<string, set<int>> success; unordered_map<string, unordered_map<int, int>> penalty; for (int i = 0; i < n; i++) { int minute, num; string name; char chk; cin >> minute >> name >> num >> chk; if (success[name].find(num) != success[name].end()) { continue; } if (chk == 'T') { time[name] += minute; time[name] += penalty[name][num]; success[name].insert(num); } else { penalty[name][num] += 20; } } vector<team> vec; for (auto &x : success) // x = {name, set<int>} { team temp = {x.second.size(), time[x.first], x.first}; vec.push_back(temp); } sort(vec.begin(), vec.end(), cmp); int cnt = 0, prevNum = -1, prevTime = -1; for (int i = 0; i < vec.size(); i++) { if (cnt >= 3) { break; } cout << vec[i].name << " " << vec[i].num << " " << vec[i].time << "\n"; if (prevNum == vec[i].num && prevTime == vec[i].time) { continue; } cnt++; } return 0; } | # 0273, 2024-11-02 11:34:07, PPPPPPPPPP-PP-P----P- (66%) #include <bits/stdc++.h> using namespace std; struct team { int num, time; string name; }; bool cmp(const team &a, const team &b) { if (a.num == b.num) { return a.time < b.time; } return a.num > b.num; } int main() { int n; cin >> n; unordered_map<string, int> time; unordered_map<string, set<int>> success; unordered_map<string, unordered_map<int, int>> penalty; for (int i = 0; i < n; i++) { int minute, num; string name; char chk; cin >> minute >> name >> num >> chk; if (success[name].find(num) != success[name].end()) { continue; } if (chk == 'T') { time[name] += minute; time[name] += penalty[name][num]; success[name].insert(num); } else { penalty[name][num] += 20; } } vector<team> vec; for (auto &x : success) // x = {name, set<int>} { team temp = {x.second.size(), time[x.first], x.first}; vec.push_back(temp); } sort(vec.begin(), vec.end(), cmp); int cnt = 0, prevNum = -1, prevTime = -1; for (int i = 0; i < vec.size(); i++) { if (cnt >= 3) { break; } cout << vec[i].name << " " << vec[i].num << " " << vec[i].time << "\n"; if (prevNum == vec[i].num && prevTime == vec[i].time) { continue; } prevNum = vec[i].num; prevTime = vec[i].time; cnt++; } return 0; } | # 0274, 2024-11-02 11:48:09, PPPPPPPPPP--P-P----P- (61%) #include <bits/stdc++.h> using namespace std; struct team { int num, time, penalty; string name; }; bool cmp(const team &a, const team &b) { if (a.num == b.num) { if (a.time == b.time) { if (a.penalty == b.penalty) { return a.name < b.name; } return a.penalty < b.penalty; } return a.time < b.time; } return a.num > b.num; } int main() { int n; cin >> n; unordered_map<string, set<int>> success; unordered_map<string, pair<int, int>> time; //{name, {minute, cntPenalty}} unordered_map<string, unordered_map<int, int>> penalty; for (int i = 0; i < n; i++) { int minute, num; string name; char chk; cin >> minute >> name >> num >> chk; if (success[name].find(num) != success[name].end()) { continue; } if (chk == 'T') { time[name].first += minute; time[name].first += penalty[name][num] * 20; time[name].second += penalty[name][num]; success[name].insert(num); } else { penalty[name][num]++; } } vector<team> vec; for (auto &x : success) // x = {name, set<int>} { // {num, minute, cntPenalty, name} team temp = {x.second.size(), time[x.first].first, time[x.first].second, x.first}; vec.push_back(temp); } sort(vec.begin(), vec.end(), cmp); int cnt = 0, prevNum = -1, prevTime = -1, prevPenalty = -1; for (int i = 0; i < vec.size(); i++) { if (cnt >= 3) { break; } cout << vec[i].name << " " << vec[i].num << " " << vec[i].time << "\n"; if (prevNum == vec[i].num && prevTime == vec[i].time && prevPenalty == vec[i].penalty) { continue; } prevNum = vec[i].num; prevTime = vec[i].time; prevPenalty = vec[i].penalty; cnt++; } return 0; } | # 0275, 2024-11-02 12:01:06, PPPPPPPPPP--P-P------ (57%) #include <bits/stdc++.h> using namespace std; struct team { int num, time, penalty; string name; }; bool cmp(const team &a, const team &b) { if (a.num == b.num) { if (a.penalty == b.penalty) { if (a.time == b.time) { return a.name < b.name; } return a.time < b.time; } return a.penalty < b.penalty; } return a.num > b.num; } int main() { int n; cin >> n; unordered_map<string, set<int>> success; unordered_map<string, pair<int, int>> time; //{name, {minute, cntPenalty}} unordered_map<string, unordered_map<int, int>> penalty; for (int i = 0; i < n; i++) { int minute, num; string name; char chk; cin >> minute >> name >> num >> chk; if (success[name].find(num) != success[name].end()) { continue; } if (chk == 'T') { time[name].first += minute; time[name].first += penalty[name][num] * 20; time[name].second += penalty[name][num]; success[name].insert(num); } else { penalty[name][num]++; } } vector<team> vec; for (auto &x : success) // x = {name, set<int>} { // {num, minute, cntPenalty, name} team temp = {x.second.size(), time[x.first].first, time[x.first].second, x.first}; vec.push_back(temp); } sort(vec.begin(), vec.end(), cmp); int cnt = 0, prevNum = -1, prevTime = -1, prevPenalty = -1; for (int i = 0; i < vec.size(); i++) { if (cnt >= 3) { break; } cout << vec[i].name << " " << vec[i].num << " " << vec[i].time << "\n"; if (prevNum == vec[i].num && prevTime == vec[i].time && prevPenalty == vec[i].penalty) { continue; } prevNum = vec[i].num; prevTime = vec[i].time; prevPenalty = vec[i].penalty; cnt++; } return 0; } | # 0276, 2024-11-02 12:05:54, PPPPPPPPPP---P-P----P (61%) #include <bits/stdc++.h> using namespace std; struct team { int num, time, penalty; string name; }; bool cmp(const team &a, const team &b) { if (a.num == b.num) { if (a.time == b.time) { if (a.penalty == b.penalty) { return a.name < b.name; } return a.penalty < b.penalty; } return a.time < b.time; } return a.num > b.num; } int main() { int n; cin >> n; unordered_map<string, set<int>> success; unordered_map<string, pair<int, int>> time; //{name, {minute, cntPenalty}} unordered_map<string, unordered_map<int, int>> penalty; for (int i = 0; i < n; i++) { int minute, num; string name; char chk; cin >> minute >> name >> num >> chk; if (success[name].find(num) != success[name].end()) { continue; } if (chk == 'T') { time[name].first += minute; time[name].first += penalty[name][num] * 20; time[name].second += penalty[name][num]; success[name].insert(num); } else { penalty[name][num]++; } } vector<team> vec; for (auto &x : success) // x = {name, set<int>} { // {num, minute, cntPenalty, name} team temp = {x.second.size(), time[x.first].first, time[x.first].second, x.first}; vec.push_back(temp); } sort(vec.begin(), vec.end(), cmp); int cnt = 0, prevNum = -1, prevTime = -1, prevPenalty = -1; for (int i = 0; i < vec.size(); i++) { if (cnt > 3) { break; } cout << vec[i].name << " " << vec[i].num << " " << vec[i].time << "\n"; if (prevNum == vec[i].num && prevTime == vec[i].time && prevPenalty == vec[i].penalty) { continue; } prevNum = vec[i].num; prevTime = vec[i].time; prevPenalty = vec[i].penalty; cnt++; } return 0; } |
# 0277, 2024-11-02 15:24:20, xxxxxxxxPP-PP-P------ (23%) #include <iostream> #include <tuple> #include <vector> #include <algorithm> #include <map> using namespace std; int main () { int n; cin >> n; int time,prob; string team,correct; map<string,int> count; map<string,map<int,bool>> finished; map<string,map<int,int>> teams; while (n--) { cin >> time >> team >> prob >> correct; if (correct=="T") { if (finished[team][prob]==0) finished[team][prob]=1; if (teams.find(team)!=teams.end()) { if (teams[team].find(prob)!=teams[team].end()) { teams[team][prob]+=time; } else { teams[team][prob]=time; } } else { map<int,int> temp; temp[prob]=time; teams[team]=temp; } if (count.find(team)!=count.end()) count[team]++; else count[team]=1; } else if (correct=="F") { if (teams.find(team)!=teams.end()) { if (teams[team].find(prob)!=teams[team].end()) { if (finished[team][prob]==0) teams[team][prob]+=20; } else { teams[team][prob]=20; } } else { map<int,int> temp; temp[prob]=20; teams[team]=temp; } } } vector<tuple<int,int,string>> answer; for (auto p:teams) { int sum=0; for (auto e:p.second) sum+=e.second; answer.push_back(make_tuple(-count[p.first],sum,p.first)); } sort(answer.begin(),answer.end()); for (int i=0;i<3;i++) { cout << get<2>(answer[i]) << " " << -get<0>(answer[i]) << " " << get<1>(answer[i]) << endl; } } | # 0278, 2024-11-02 15:28:24, xxxxxxxxPP-P-PPP----- (28%) #include <iostream> #include <tuple> #include <vector> #include <algorithm> #include <map> using namespace std; int main () { int n; cin >> n; int time,prob; string team,correct; map<string,int> count; map<string,map<int,bool>> finished; map<string,map<int,int>> teams; while (n--) { cin >> time >> team >> prob >> correct; if (correct=="T") { if (finished[team][prob]==0) finished[team][prob]=1; if (teams.find(team)!=teams.end()) { if (teams[team].find(prob)!=teams[team].end()) { teams[team][prob]+=time; } else { teams[team][prob]=time; } } else { map<int,int> temp; temp[prob]=time; teams[team]=temp; } if (count.find(team)!=count.end()) count[team]++; else count[team]=1; } else if (correct=="F") { if (teams.find(team)!=teams.end()) { if (teams[team].find(prob)!=teams[team].end()) { if (finished[team][prob]==0) teams[team][prob]+=20; } else { teams[team][prob]=20; } } else { map<int,int> temp; temp[prob]=20; teams[team]=temp; } } } vector<tuple<int,int,string>> answer; for (auto p:teams) { int sum=0; for (auto e:p.second) sum+=e.second; answer.push_back(make_tuple(-count[p.first],sum,p.first)); } sort(answer.begin(),answer.end()); for (int i=0;i<3;i++) { cout << get<2>(answer[i]) << " " << -get<0>(answer[i]) << " " << get<1>(answer[i]) << endl; if (get<0>(answer[i+1])==get<0>(answer[i])&&get<1>(answer[i])==get<1>(answer[i])) { cout << get<2>(answer[i+1]) << " " << -get<0>(answer[i+1]) << " " << get<1>(answer[i+1]) << endl; i++; } } } | # 0279, 2024-11-02 15:30:35, PP-PPPP-PPPP-PPP----- (61%) #include <iostream> #include <tuple> #include <vector> #include <algorithm> #include <map> using namespace std; int main () { int n; cin >> n; int time,prob; string team,correct; map<string,int> count; map<string,map<int,bool>> finished; map<string,map<int,int>> teams; while (n--) { cin >> time >> team >> prob >> correct; if (correct=="T") { if (finished[team][prob]==0) finished[team][prob]=1; if (teams.find(team)!=teams.end()) { if (teams[team].find(prob)!=teams[team].end()) { teams[team][prob]+=time; } else { teams[team][prob]=time; } } else { map<int,int> temp; temp[prob]=time; teams[team]=temp; } if (count.find(team)!=count.end()) count[team]++; else count[team]=1; } else if (correct=="F") { if (teams.find(team)!=teams.end()) { if (teams[team].find(prob)!=teams[team].end()) { if (finished[team][prob]==0) teams[team][prob]+=20; } else { teams[team][prob]=20; } } else { map<int,int> temp; temp[prob]=20; teams[team]=temp; } } } vector<tuple<int,int,string>> answer; for (auto p:teams) { int sum=0; for (auto e:p.second) sum+=e.second; answer.push_back(make_tuple(-count[p.first],sum,p.first)); } sort(answer.begin(),answer.end()); for (int i=0;i<3;i++) { if (get<0>(answer[i])!=0) { cout << get<2>(answer[i]) << " " << -get<0>(answer[i]) << " " << get<1>(answer[i]) << endl; if (get<0>(answer[i+1])==get<0>(answer[i])&&get<1>(answer[i])==get<1>(answer[i])) { cout << get<2>(answer[i+1]) << " " << -get<0>(answer[i+1]) << " " << get<1>(answer[i+1]) << endl; i++; } } } } |
# 0280, 2024-11-02 14:50:17, PP--PPPPPP--P-P------ (47%) #include <iostream> #include <vector> #include <map> #include <set> #include <algorithm> #include <utility> using namespace std; int main(){ int n; cin >> n; map<string, set<int>> cor; map<string, set<int>> wrong; map<string, int> pen; // tid, penalty for(int i=0; i<n; ++i){ int min, pid; string tid, pass; cin >> min >> tid >> pid >> pass; if(pass=="T"){ if(cor[tid].find(pid)==cor[tid].end()){ // cout << "can't find" << endl; pen[tid] += min; } pen[tid] += wrong[tid].size() * 20; cor[tid].insert(pid); }else{ if(cor[tid].find(pid)==cor[tid].end()){ // cout << "wrond" << endl; wrong[tid].insert(pid); } } } vector<pair<string, pair<int, int>>> res; //t for(auto a: cor){ res.push_back({a.first, {a.second.size(), pen[a.first]}}); // cout << a.first << " " << a.second.size() << endl; } sort(res.begin(), res.end(), [](const pair<string, pair<int, int>> &a, const pair<string, pair<int, int>> &b){ if(a.second.first == b.second.first){ return a.second.second < b.second.second; } return a.second.first > b.second.first; } ); // cout << "pen" << endl; // for(auto a: pen){ // cout << a.first << " " << a.second << endl; // } // cout << endl; int score3th = 0; int idx =0; for(auto a: res){ cout << a.first << " " << a.second.first << " " << a.second.second << endl; if(idx==2){ break; score3th = a.second.first; } if(idx>2 && a.second.first!=score3th){ return 0; } idx++; } } /* */ //bmer | # 0281, 2024-11-02 14:58:48, PP--PPPPPP--PPPP----- (57%) #include <iostream> #include <vector> #include <map> #include <set> #include <algorithm> #include <utility> using namespace std; int main(){ int n; cin >> n; map<string, set<int>> cor; map<string, set<int>> wrong; map<string, int> pen; // tid, penalty for(int i=0; i<n; ++i){ int min, pid; string tid, pass; cin >> min >> tid >> pid >> pass; if(pass=="T"){ if(cor[tid].find(pid)==cor[tid].end()){ // cout << "can't find" << endl; pen[tid] += min; } pen[tid] += wrong[tid].size() * 20; cor[tid].insert(pid); }else{ if(cor[tid].find(pid)==cor[tid].end()){ // cout << "wrond" << endl; wrong[tid].insert(pid); } } } vector<pair<string, pair<int, int>>> res; //t for(auto a: cor){ res.push_back({a.first, {a.second.size(), pen[a.first]}}); // cout << a.first << " " << a.second.size() << endl; } sort(res.begin(), res.end(), [](const pair<string, pair<int, int>> &a, const pair<string, pair<int, int>> &b){ if(a.second.first == b.second.first){ return a.second.second < b.second.second; } return a.second.first > b.second.first; } ); // cout << "pen" << endl; // for(auto a: pen){ // cout << a.first << " " << a.second << endl; // } // cout << endl; int score3th=0; int pen3th=0; int idx =0; cout << endl; for(auto a: res){ // cout << idx << " " << score3th << " " << pen3th << endl; if(idx>2 && ((a.second.first!=score3th) || (a.second.second!=pen3th))){ break; } if(idx==2){ score3th = a.second.first; pen3th = a.second.second; } cout << a.first << " " << a.second.first << " " << a.second.second << endl; idx++; } } /* */ //bmer | # 0282, 2024-11-02 15:00:11, PP--PPPPPPP-PPPP----- (61%) #include <iostream> #include <vector> #include <map> #include <set> #include <algorithm> #include <utility> using namespace std; int main(){ int n; cin >> n; map<string, set<int>> cor; map<string, set<int>> wrong; map<string, int> pen; // tid, penalty for(int i=0; i<n; ++i){ int min, pid; string tid, pass; cin >> min >> tid >> pid >> pass; if(pass=="T"){ if(cor[tid].find(pid)==cor[tid].end()){ // cout << "can't find" << endl; pen[tid] += min; } pen[tid] += wrong[tid].size() * 20; cor[tid].insert(pid); }else{ if(cor[tid].find(pid)==cor[tid].end()){ // cout << "wrond" << endl; wrong[tid].insert(pid); } } } vector<pair<string, pair<int, int>>> res; //t for(auto a: cor){ if(a.second.size()>0){ res.push_back({a.first, {a.second.size(), pen[a.first]}}); } // cout << a.first << " " << a.second.size() << endl; } sort(res.begin(), res.end(), [](const pair<string, pair<int, int>> &a, const pair<string, pair<int, int>> &b){ if(a.second.first == b.second.first){ return a.second.second < b.second.second; } return a.second.first > b.second.first; } ); // cout << "pen" << endl; // for(auto a: pen){ // cout << a.first << " " << a.second << endl; // } // cout << endl; int score3th=0; int pen3th=0; int idx =0; cout << endl; for(auto a: res){ // cout << idx << " " << score3th << " " << pen3th << endl; if(idx>2 && ((a.second.first!=score3th) || (a.second.second!=pen3th))){ break; } if(idx==2){ score3th = a.second.first; pen3th = a.second.second; } cout << a.first << " " << a.second.first << " " << a.second.second << endl; idx++; } } /* */ //bmer |
# 0283, 2024-11-02 11:15:38, PPPP-PPPPP-P--------- (47%) #include <bits/stdc++.h> using namespace std; bool compare(vector<string> a , vector<string> b){ if(a[1] != b[1]){ return a[1] > b[1]; }else if(a[2] != b[2]){ return a[2] < b[2]; }else{ return a[0] < b[0]; } } int main(){ int num; cin >> num; map<string,vector<vector<string>>> MAP; for(int n =0 ; n < num; n++){ string minute , team , problem , result; cin >> minute >> team >> problem >> result; vector<string> temp; temp.push_back(minute); temp.push_back(problem); temp.push_back(result); MAP[team].push_back(temp); } // for(auto i : MAP){ // cout << i.first << endl; // for(auto j: i.second){ // cout << "|| "; // for(auto k : j){ // cout << k << " "; // } // } // cout << endl; // } vector<vector<string>> result; for(auto team: MAP){ int penalty =0; set<string> problemsolved; string lasttime; map<string,int> wronged; for(auto vec : team.second){ if(problemsolved.find(vec[1]) != problemsolved.end()){ continue; } if(vec[2] == "F" && problemsolved.find(vec[1]) == problemsolved.end()){ wronged[vec[1]] += 1; }else{ if(problemsolved.find(vec[1]) == problemsolved.end()){ if(lasttime != vec[0]){ penalty += stoi(vec[0]); } problemsolved.insert(vec[1]); lasttime = vec[0]; } } } for(auto problem:wronged){ if(problemsolved.find(problem.first) != problemsolved.end()){ penalty += 20*problem.second; } } vector<string> jj = {team.first, to_string(problemsolved.size()) , to_string(penalty)}; result.push_back(jj); } vector<int> allpenalty; for(auto i: result){ for(auto j: i){ allpenalty.push_back(j[2]); } } vector<int> top3penalty; sort(allpenalty.begin(),allpenalty.end()); int lastpenal=-99; int cnt =0; for(auto i : allpenalty){ if(cnt == 3){ break; } top3penalty.push_back(i); if(i != lastpenal){ cnt++; } } sort(result.begin(),result.end(),compare); for(int i =0 ;i < min(result.size(),top3penalty.size());i++){ for(auto j : result[i]){ cout << j << " " ; } cout << endl; } // for(auto i:result){ // for(auto j: i){ // cout << j << " "; // } // cout << endl; // } return 0; } | # 0284, 2024-11-02 11:16:36, PPPP-PPPPP-P--------P (52%) #include <bits/stdc++.h> using namespace std; bool compare(vector<string> a , vector<string> b){ if(a[1] != b[1]){ return a[1] > b[1]; }else if(a[2] != b[2]){ return a[2] < b[2]; }else{ return a[0] < b[0]; } } int main(){ int num; cin >> num; map<string,vector<vector<string>>> MAP; for(int n =0 ; n < num; n++){ string minute , team , problem , result; cin >> minute >> team >> problem >> result; vector<string> temp; temp.push_back(minute); temp.push_back(problem); temp.push_back(result); MAP[team].push_back(temp); } // for(auto i : MAP){ // cout << i.first << endl; // for(auto j: i.second){ // cout << "|| "; // for(auto k : j){ // cout << k << " "; // } // } // cout << endl; // } vector<vector<string>> result; for(auto team: MAP){ int penalty =0; set<string> problemsolved; string lasttime; map<string,int> wronged; for(auto vec : team.second){ if(problemsolved.find(vec[1]) != problemsolved.end()){ continue; } if(vec[2] == "F" && problemsolved.find(vec[1]) == problemsolved.end()){ wronged[vec[1]] += 1; }else{ if(problemsolved.find(vec[1]) == problemsolved.end()){ if(lasttime != vec[0]){ penalty += stoi(vec[0]); } problemsolved.insert(vec[1]); lasttime = vec[0]; } } } for(auto problem:wronged){ if(problemsolved.find(problem.first) != problemsolved.end()){ penalty += 20*problem.second; } } vector<string> jj = {team.first, to_string(problemsolved.size()) , to_string(penalty)}; result.push_back(jj); } vector<int> allpenalty; for(auto i: result){ for(auto j: i){ allpenalty.push_back(j[2]); } } vector<int> top3penalty; sort(allpenalty.begin(),allpenalty.end()); int lastpenal=-99; int cnt =0; for(auto i : allpenalty){ if(cnt > 3){ break; } top3penalty.push_back(i); if(i != lastpenal){ cnt++; } } sort(result.begin(),result.end(),compare); for(int i =0 ;i < min(result.size(),top3penalty.size());i++){ for(auto j : result[i]){ cout << j << " " ; } cout << endl; } // for(auto i:result){ // for(auto j: i){ // cout << j << " "; // } // cout << endl; // } return 0; } | # 0285, 2024-11-02 11:18:25, PPPP-PPPPPPP--------P (57%) #include <bits/stdc++.h> using namespace std; bool compare(vector<string> a , vector<string> b){ if(a[1] != b[1]){ return a[1] > b[1]; }else if(a[2] != b[2]){ return a[2] < b[2]; }else{ return a[0] < b[0]; } } int main(){ int num; cin >> num; map<string,vector<vector<string>>> MAP; for(int n =0 ; n < num; n++){ string minute , team , problem , result; cin >> minute >> team >> problem >> result; vector<string> temp; temp.push_back(minute); temp.push_back(problem); temp.push_back(result); MAP[team].push_back(temp); } // for(auto i : MAP){ // cout << i.first << endl; // for(auto j: i.second){ // cout << "|| "; // for(auto k : j){ // cout << k << " "; // } // } // cout << endl; // } vector<vector<string>> result; for(auto team: MAP){ int penalty =0; set<string> problemsolved; string lasttime; map<string,int> wronged; for(auto vec : team.second){ if(problemsolved.find(vec[1]) != problemsolved.end()){ continue; } if(vec[2] == "F" && problemsolved.find(vec[1]) == problemsolved.end()){ wronged[vec[1]] += 1; }else{ if(problemsolved.find(vec[1]) == problemsolved.end()){ if(lasttime != vec[0]){ penalty += stoi(vec[0]); } problemsolved.insert(vec[1]); lasttime = vec[0]; } } } for(auto problem:wronged){ if(problemsolved.find(problem.first) != problemsolved.end()){ penalty += 20*problem.second; } } vector<string> jj = {team.first, to_string(problemsolved.size()) , to_string(penalty)}; result.push_back(jj); } vector<int> allpenalty; for(auto i: result){ for(auto j: i){ allpenalty.push_back(j[2]); } } vector<int> top3penalty; sort(allpenalty.begin(),allpenalty.end()); int lastpenal=-99; int cnt =0; for(auto i : allpenalty){ if(cnt > 3){ break; } top3penalty.push_back(i); if(i != lastpenal){ cnt++; } } sort(result.begin(),result.end(),compare); for(int i =0 ;i < min(result.size(),top3penalty.size());i++){ if(result[i][1] == "0"){ continue; } for(auto j : result[i]){ cout << j << " " ; } cout << endl; } // for(auto i:result){ // for(auto j: i){ // cout << j << " "; // } // cout << endl; // } return 0; } | # 0286, 2024-11-02 11:19:17, PPPP-PPPPPPP--------P (57%) #include <bits/stdc++.h> using namespace std; bool compare(vector<string> a , vector<string> b){ if(a[1] != b[1]){ return a[1] > b[1]; }else if(a[2] != b[2]){ return a[2] < b[2]; }else{ return a[0] < b[0]; } } int main(){ int num; cin >> num; map<string,vector<vector<string>>> MAP; for(int n =0 ; n < num; n++){ string minute , team , problem , result; cin >> minute >> team >> problem >> result; vector<string> temp; temp.push_back(minute); temp.push_back(problem); temp.push_back(result); MAP[team].push_back(temp); } // for(auto i : MAP){ // cout << i.first << endl; // for(auto j: i.second){ // cout << "|| "; // for(auto k : j){ // cout << k << " "; // } // } // cout << endl; // } vector<vector<string>> result; for(auto team: MAP){ int penalty =0; set<string> problemsolved; string lasttime; map<string,int> wronged; for(auto vec : team.second){ if(problemsolved.find(vec[1]) != problemsolved.end()){ continue; } if(vec[2] == "F" && problemsolved.find(vec[1]) == problemsolved.end()){ wronged[vec[1]] += 1; }else{ if(problemsolved.find(vec[1]) == problemsolved.end()){ if(lasttime != vec[0]){ //penalty += stoi(vec[0]); } penalty += stoi(vec[0]); problemsolved.insert(vec[1]); lasttime = vec[0]; } } } for(auto problem:wronged){ if(problemsolved.find(problem.first) != problemsolved.end()){ penalty += 20*problem.second; } } vector<string> jj = {team.first, to_string(problemsolved.size()) , to_string(penalty)}; result.push_back(jj); } vector<int> allpenalty; for(auto i: result){ for(auto j: i){ allpenalty.push_back(j[2]); } } vector<int> top3penalty; sort(allpenalty.begin(),allpenalty.end()); int lastpenal=-99; int cnt =0; for(auto i : allpenalty){ if(cnt > 3){ break; } top3penalty.push_back(i); if(i != lastpenal){ cnt++; } } sort(result.begin(),result.end(),compare); for(int i =0 ;i < min(result.size(),top3penalty.size());i++){ if(result[i][1] == "0"){ continue; } for(auto j : result[i]){ cout << j << " " ; } cout << endl; } // for(auto i:result){ // for(auto j: i){ // cout << j << " "; // } // cout << endl; // } return 0; } | # 0287, 2024-11-02 12:00:04, PPPP-PPPPPPP--------P (57%) #include <bits/stdc++.h> using namespace std; bool compare(vector<string> a , vector<string> b){ if(a[1] != b[1]){ return a[1] > b[1]; }else if(a[2] != b[2]){ return a[2] < b[2]; }else{ return a[0] < b[0]; } } int main(){ int num; cin >> num; map<string,vector<vector<string>>> MAP; for(int n =0 ; n < num; n++){ string minute , team , problem , result; cin >> minute >> team >> problem >> result; vector<string> temp; temp.push_back(minute); temp.push_back(problem); temp.push_back(result); MAP[team].push_back(temp); } // for(auto i : MAP){ // cout << i.first << endl; // for(auto j: i.second){ // cout << "|| "; // for(auto k : j){ // cout << k << " "; // } // } // cout << endl; // } vector<vector<string>> result; for(auto team: MAP){ int penalty =0; set<string> problemsolved; string lasttime; map<string,int> wronged; for(auto vec : team.second){ if(problemsolved.find(vec[1]) != problemsolved.end()){ continue; } if(vec[2] == "F" && problemsolved.find(vec[1]) == problemsolved.end()){ wronged[vec[1]] += 1; }else{ if(problemsolved.find(vec[1]) == problemsolved.end()){ if(lasttime != vec[0]){ //penalty += stoi(vec[0]); } penalty += stoi(vec[0]); problemsolved.insert(vec[1]); lasttime = vec[0]; } } } for(auto problem:wronged){ if(problemsolved.find(problem.first) != problemsolved.end()){ penalty += 20*problem.second; } } vector<string> jj = {team.first, to_string(problemsolved.size()) , to_string(penalty)}; result.push_back(jj); } vector<int> allpenalty; for(auto i: result){ for(auto j: i){ allpenalty.push_back(j[2]); } } vector<int> top3penalty; sort(allpenalty.begin(),allpenalty.end()); int lastpenal=-99; int cnt =0; for(auto i : allpenalty){ if(cnt > 3){ break; } top3penalty.push_back(i); if(i != lastpenal){ cnt++; } } sort(result.begin(),result.end(),compare); for(int i =0 ;i < min(result.size(),top3penalty.size());i++){ if(result[i][1] == "0"){ continue; } for(auto j : result[i]){ cout << j << " " ; } cout << endl; } // for(auto i:result){ // for(auto j: i){ // cout << j << " "; // } // cout << endl; // } return 0; } | # 0288, 2024-11-02 12:01:25, PPPP-PPPPPPP--------P (57%) #include <bits/stdc++.h> using namespace std; bool compare(vector<string> a , vector<string> b){ if(a[1] != b[1]){ return a[1] > b[1]; }else if(a[2] != b[2]){ return a[2] < b[2]; }else{ return a[0] < b[0]; } } int main(){ int num; cin >> num; map<string,vector<vector<string>>> MAP; for(int n =0 ; n < num; n++){ string minute , team , problem , result; cin >> minute >> team >> problem >> result; vector<string> temp; temp.push_back(minute); temp.push_back(problem); temp.push_back(result); MAP[team].push_back(temp); } // for(auto i : MAP){ // cout << i.first << endl; // for(auto j: i.second){ // cout << "|| "; // for(auto k : j){ // cout << k << " "; // } // } // cout << endl; // } vector<vector<string>> result; for(auto team: MAP){ int penalty =0; set<string> problemsolved; string lasttime; map<string,int> wronged; for(auto vec : team.second){ if(problemsolved.find(vec[1]) != problemsolved.end()){ continue; } if(vec[2] == "F" && problemsolved.find(vec[1]) == problemsolved.end()){ wronged[vec[1]] += 1; }else{ if(problemsolved.find(vec[1]) == problemsolved.end()){ if(lasttime != vec[0]){ penalty += stoi(vec[0]); } //penalty += stoi(vec[0]); problemsolved.insert(vec[1]); lasttime = vec[0]; } } } for(auto problem:wronged){ if(problemsolved.find(problem.first) != problemsolved.end()){ penalty += 20*problem.second; } } vector<string> jj = {team.first, to_string(problemsolved.size()) , to_string(penalty)}; result.push_back(jj); } vector<int> allpenalty; for(auto i: result){ for(auto j: i){ allpenalty.push_back(j[2]); } } vector<int> top3penalty; sort(allpenalty.begin(),allpenalty.end()); int lastpenal=-99; int cnt =0; for(auto i : allpenalty){ if(cnt > 3){ break; } top3penalty.push_back(i); if(i != lastpenal){ cnt++; } } sort(result.begin(),result.end(),compare); for(int i =0 ;i < min(result.size(),top3penalty.size());i++){ if(result[i][1] == "0"){ continue; } for(auto j : result[i]){ cout << j << " " ; } cout << endl; } // for(auto i:result){ // for(auto j: i){ // cout << j << " "; // } // cout << endl; // } return 0; } | # 0289, 2024-11-02 12:06:10, PPPP-PPPPPPP--------- (52%) #include <bits/stdc++.h> using namespace std; bool compare(vector<string> a , vector<string> b){ if(a[1] != b[1]){ return a[1] > b[1]; }else if(a[2] != b[2]){ return a[2] < b[2]; }else{ return a[0] < b[0]; } } int main(){ int num; cin >> num; map<string,vector<vector<string>>> MAP; for(int n =0 ; n < num; n++){ string minute , team , problem , result; cin >> minute >> team >> problem >> result; vector<string> temp; temp.push_back(minute); temp.push_back(problem); temp.push_back(result); MAP[team].push_back(temp); } // for(auto i : MAP){ // cout << i.first << endl; // for(auto j: i.second){ // cout << "|| "; // for(auto k : j){ // cout << k << " "; // } // } // cout << endl; // } vector<vector<string>> result; for(auto team: MAP){ int penalty =0; set<string> problemsolved; string lasttime; map<string,int> wronged; for(auto vec : team.second){ if(problemsolved.find(vec[1]) != problemsolved.end()){ continue; } if(vec[2] == "F" && problemsolved.find(vec[1]) == problemsolved.end()){ wronged[vec[1]] += 1; }else{ if(problemsolved.find(vec[1]) == problemsolved.end()){ if(lasttime != vec[0]){ penalty += stoi(vec[0]); } //penalty += stoi(vec[0]); problemsolved.insert(vec[1]); lasttime = vec[0]; } } } for(auto problem:wronged){ if(problemsolved.find(problem.first) != problemsolved.end()){ penalty += 20*problem.second; } } vector<string> jj = {team.first, to_string(problemsolved.size()) , to_string(penalty)}; result.push_back(jj); } vector<int> allpenalty; for(auto i: result){ for(auto j: i){ allpenalty.push_back(j[2]); } } vector<int> top3penalty; sort(allpenalty.begin(),allpenalty.end()); int lastpenal=-99; int cnt =0; for(auto i : allpenalty){ if(cnt == 3){ break; } top3penalty.push_back(i); if(i != lastpenal){ cnt++; } } sort(result.begin(),result.end(),compare); int cnt3 =0; string lastpenalll ; for(int i =0 ;i < min(result.size(),top3penalty.size());i++){ if(result[i][1] == "0"){ continue; } for(auto j : result[i]){ cout << j << " " ; } lastpenalll = result[i][2]; cout << endl; cnt++; } // for(auto i:result){ // for(auto j: i){ // cout << j << " "; // } // cout << endl; // } return 0; } | # 0290, 2024-11-02 12:07:31, PPPP-PPPPPPP--------P (57%) #include <bits/stdc++.h> using namespace std; bool compare(vector<string> a , vector<string> b){ if(a[1] != b[1]){ return a[1] > b[1]; }else if(a[2] != b[2]){ return a[2] < b[2]; }else{ return a[0] < b[0]; } } int main(){ int num; cin >> num; map<string,vector<vector<string>>> MAP; for(int n =0 ; n < num; n++){ string minute , team , problem , result; cin >> minute >> team >> problem >> result; vector<string> temp; temp.push_back(minute); temp.push_back(problem); temp.push_back(result); MAP[team].push_back(temp); } // for(auto i : MAP){ // cout << i.first << endl; // for(auto j: i.second){ // cout << "|| "; // for(auto k : j){ // cout << k << " "; // } // } // cout << endl; // } vector<vector<string>> result; for(auto team: MAP){ int penalty =0; set<string> problemsolved; string lasttime; map<string,int> wronged; for(auto vec : team.second){ if(problemsolved.find(vec[1]) != problemsolved.end()){ continue; } if(vec[2] == "F" && problemsolved.find(vec[1]) == problemsolved.end()){ wronged[vec[1]] += 1; }else{ if(problemsolved.find(vec[1]) == problemsolved.end()){ if(lasttime != vec[0]){ penalty += stoi(vec[0]); } //penalty += stoi(vec[0]); problemsolved.insert(vec[1]); lasttime = vec[0]; } } } for(auto problem:wronged){ if(problemsolved.find(problem.first) != problemsolved.end()){ penalty += 20*problem.second; } } vector<string> jj = {team.first, to_string(problemsolved.size()) , to_string(penalty)}; result.push_back(jj); } vector<int> allpenalty; for(auto i: result){ for(auto j: i){ allpenalty.push_back(j[2]); } } vector<int> top3penalty; sort(allpenalty.begin(),allpenalty.end()); int lastpenal=-99; int cnt =0; for(auto i : allpenalty){ if(cnt > 3){ break; } top3penalty.push_back(i); if(i != lastpenal){ cnt++; } } sort(result.begin(),result.end(),compare); int cnt3 =0; string lastpenalll ; for(int i =0 ;i < min(result.size(),top3penalty.size());i++){ if(cnt3 == 2 && lastpenalll != result[i][2]){ break; } if(result[i][1] == "0"){ continue; } for(auto j : result[i]){ cout << j << " " ; } lastpenalll = result[i][2]; cout << endl; cnt++; } // for(auto i:result){ // for(auto j: i){ // cout << j << " "; // } // cout << endl; // } return 0; } | # 0291, 2024-11-02 12:08:13, PPPP-PPPPPPP--------P (57%) #include <bits/stdc++.h> using namespace std; bool compare(vector<string> a , vector<string> b){ if(a[1] != b[1]){ return a[1] > b[1]; }else if(a[2] != b[2]){ return a[2] < b[2]; }else{ return a[0] < b[0]; } } int main(){ int num; cin >> num; map<string,vector<vector<string>>> MAP; for(int n =0 ; n < num; n++){ string minute , team , problem , result; cin >> minute >> team >> problem >> result; vector<string> temp; temp.push_back(minute); temp.push_back(problem); temp.push_back(result); MAP[team].push_back(temp); } // for(auto i : MAP){ // cout << i.first << endl; // for(auto j: i.second){ // cout << "|| "; // for(auto k : j){ // cout << k << " "; // } // } // cout << endl; // } vector<vector<string>> result; for(auto team: MAP){ int penalty =0; set<string> problemsolved; string lasttime; map<string,int> wronged; for(auto vec : team.second){ if(problemsolved.find(vec[1]) != problemsolved.end()){ continue; } if(vec[2] == "F" && problemsolved.find(vec[1]) == problemsolved.end()){ wronged[vec[1]] += 1; }else{ if(problemsolved.find(vec[1]) == problemsolved.end()){ if(lasttime != vec[0]){ penalty += stoi(vec[0]); } //penalty += stoi(vec[0]); problemsolved.insert(vec[1]); lasttime = vec[0]; } } } for(auto problem:wronged){ if(problemsolved.find(problem.first) != problemsolved.end()){ penalty += 20*problem.second; } } vector<string> jj = {team.first, to_string(problemsolved.size()) , to_string(penalty)}; result.push_back(jj); } vector<int> allpenalty; for(auto i: result){ for(auto j: i){ allpenalty.push_back(j[2]); } } vector<int> top3penalty; sort(allpenalty.begin(),allpenalty.end()); int lastpenal=-99; int cnt =0; for(auto i : allpenalty){ if(cnt > 3){ break; } top3penalty.push_back(i); if(i != lastpenal){ cnt++; } } sort(result.begin(),result.end(),compare); int cnt3 =0; string lastpenalll ; for(int i =0 ;i < min(result.size(),top3penalty.size());i++){ if(cnt3 == 3 && lastpenalll != result[i][2]){ break; } if(result[i][1] == "0"){ continue; } for(auto j : result[i]){ cout << j << " " ; } lastpenalll = result[i][2]; cout << endl; cnt++; } // for(auto i:result){ // for(auto j: i){ // cout << j << " "; // } // cout << endl; // } return 0; } | # 0292, 2024-11-02 12:09:06, PPPP-PPPPPPP--------P (57%) #include <bits/stdc++.h> using namespace std; bool compare(vector<string> a , vector<string> b){ if(a[1] != b[1]){ return a[1] > b[1]; }else if(a[2] != b[2]){ return a[2] < b[2]; }else{ return a[0] < b[0]; } } int main(){ int num; cin >> num; map<string,vector<vector<string>>> MAP; for(int n =0 ; n < num; n++){ string minute , team , problem , result; cin >> minute >> team >> problem >> result; vector<string> temp; temp.push_back(minute); temp.push_back(problem); temp.push_back(result); MAP[team].push_back(temp); } // for(auto i : MAP){ // cout << i.first << endl; // for(auto j: i.second){ // cout << "|| "; // for(auto k : j){ // cout << k << " "; // } // } // cout << endl; // } vector<vector<string>> result; for(auto team: MAP){ int penalty =0; set<string> problemsolved; string lasttime; map<string,int> wronged; for(auto vec : team.second){ if(problemsolved.find(vec[1]) != problemsolved.end()){ continue; } if(vec[2] == "F" && problemsolved.find(vec[1]) == problemsolved.end()){ wronged[vec[1]] += 1; }else{ if(problemsolved.find(vec[1]) == problemsolved.end()){ if(lasttime != vec[0]){ penalty += stoi(vec[0]); } //penalty += stoi(vec[0]); problemsolved.insert(vec[1]); lasttime = vec[0]; } } } for(auto problem:wronged){ if(problemsolved.find(problem.first) != problemsolved.end()){ penalty += 20*problem.second; } } vector<string> jj = {team.first, to_string(problemsolved.size()) , to_string(penalty)}; result.push_back(jj); } vector<int> allpenalty; for(auto i: result){ for(auto j: i){ allpenalty.push_back(j[2]); } } vector<int> top3penalty; sort(allpenalty.begin(),allpenalty.end()); int lastpenal=-99; int cnt =0; for(auto i : allpenalty){ if(cnt > 3){ break; } top3penalty.push_back(i); if(i != lastpenal){ cnt++; } } sort(result.begin(),result.end(),compare); int cnt3 =0; string lastpenalll ; for(int i =0 ;i < min(result.size(),top3penalty.size());i++){ if(cnt3 >= 3 && lastpenalll != result[i][2]){ break; } if(result[i][1] == "0"){ continue; } for(auto j : result[i]){ cout << j << " " ; } lastpenalll = result[i][2]; cout << endl; cnt3++; } // for(auto i:result){ // for(auto j: i){ // cout << j << " "; // } // cout << endl; // } return 0; } | # 0293, 2024-11-02 12:09:22, PPPP-PPP--P---------- (38%) #include <bits/stdc++.h> using namespace std; bool compare(vector<string> a , vector<string> b){ if(a[1] != b[1]){ return a[1] > b[1]; }else if(a[2] != b[2]){ return a[2] < b[2]; }else{ return a[0] < b[0]; } } int main(){ int num; cin >> num; map<string,vector<vector<string>>> MAP; for(int n =0 ; n < num; n++){ string minute , team , problem , result; cin >> minute >> team >> problem >> result; vector<string> temp; temp.push_back(minute); temp.push_back(problem); temp.push_back(result); MAP[team].push_back(temp); } // for(auto i : MAP){ // cout << i.first << endl; // for(auto j: i.second){ // cout << "|| "; // for(auto k : j){ // cout << k << " "; // } // } // cout << endl; // } vector<vector<string>> result; for(auto team: MAP){ int penalty =0; set<string> problemsolved; string lasttime; map<string,int> wronged; for(auto vec : team.second){ if(problemsolved.find(vec[1]) != problemsolved.end()){ continue; } if(vec[2] == "F" && problemsolved.find(vec[1]) == problemsolved.end()){ wronged[vec[1]] += 1; }else{ if(problemsolved.find(vec[1]) == problemsolved.end()){ if(lasttime != vec[0]){ penalty += stoi(vec[0]); } //penalty += stoi(vec[0]); problemsolved.insert(vec[1]); lasttime = vec[0]; } } } for(auto problem:wronged){ if(problemsolved.find(problem.first) != problemsolved.end()){ penalty += 20*problem.second; } } vector<string> jj = {team.first, to_string(problemsolved.size()) , to_string(penalty)}; result.push_back(jj); } vector<int> allpenalty; for(auto i: result){ for(auto j: i){ allpenalty.push_back(j[2]); } } vector<int> top3penalty; sort(allpenalty.begin(),allpenalty.end()); int lastpenal=-99; int cnt =0; for(auto i : allpenalty){ if(cnt > 3){ break; } top3penalty.push_back(i); if(i != lastpenal){ cnt++; } } sort(result.begin(),result.end(),compare); int cnt3 =0; string lastpenalll ; for(int i =0 ;i < min(result.size(),top3penalty.size());i++){ if(cnt3 >= 2 && lastpenalll != result[i][2]){ break; } if(result[i][1] == "0"){ continue; } for(auto j : result[i]){ cout << j << " " ; } lastpenalll = result[i][2]; cout << endl; cnt3++; } // for(auto i:result){ // for(auto j: i){ // cout << j << " "; // } // cout << endl; // } return 0; } | # 0294, 2024-11-02 12:10:32, PPPP-PPPPPPP--------- (52%) #include <bits/stdc++.h> using namespace std; bool compare(vector<string> a , vector<string> b){ if(a[1] != b[1]){ return a[1] > b[1]; }else if(a[2] != b[2]){ return a[2] < b[2]; }else{ return a[0] < b[0]; } } int main(){ int num; cin >> num; map<string,vector<vector<string>>> MAP; for(int n =0 ; n < num; n++){ string minute , team , problem , result; cin >> minute >> team >> problem >> result; vector<string> temp; temp.push_back(minute); temp.push_back(problem); temp.push_back(result); MAP[team].push_back(temp); } // for(auto i : MAP){ // cout << i.first << endl; // for(auto j: i.second){ // cout << "|| "; // for(auto k : j){ // cout << k << " "; // } // } // cout << endl; // } vector<vector<string>> result; for(auto team: MAP){ int penalty =0; set<string> problemsolved; string lasttime; map<string,int> wronged; for(auto vec : team.second){ if(problemsolved.find(vec[1]) != problemsolved.end()){ continue; } if(vec[2] == "F" && problemsolved.find(vec[1]) == problemsolved.end()){ wronged[vec[1]] += 1; }else{ if(problemsolved.find(vec[1]) == problemsolved.end()){ if(lasttime != vec[0]){ penalty += stoi(vec[0]); } //penalty += stoi(vec[0]); problemsolved.insert(vec[1]); lasttime = vec[0]; } } } for(auto problem:wronged){ if(problemsolved.find(problem.first) != problemsolved.end()){ penalty += 20*problem.second; } } vector<string> jj = {team.first, to_string(problemsolved.size()) , to_string(penalty)}; result.push_back(jj); } vector<int> allpenalty; for(auto i: result){ for(auto j: i){ allpenalty.push_back(j[2]); } } vector<int> top3penalty; sort(allpenalty.begin(),allpenalty.end()); int lastpenal=-99; int cnt =0; for(auto i : allpenalty){ if(cnt > 2){ break; } top3penalty.push_back(i); if(i != lastpenal){ cnt++; } } sort(result.begin(),result.end(),compare); int cnt3 =0; string lastpenalll ; for(int i =0 ;i < min(result.size(),top3penalty.size());i++){ if(result[i][1] == "0"){ continue; } for(auto j : result[i]){ cout << j << " " ; } lastpenalll = result[i][2]; cout << endl; } // for(auto i:result){ // for(auto j: i){ // cout << j << " "; // } // cout << endl; // } return 0; } | # 0295, 2024-11-02 12:10:49, PPPP-PPP--P---------- (38%) #include <bits/stdc++.h> using namespace std; bool compare(vector<string> a , vector<string> b){ if(a[1] != b[1]){ return a[1] > b[1]; }else if(a[2] != b[2]){ return a[2] < b[2]; }else{ return a[0] < b[0]; } } int main(){ int num; cin >> num; map<string,vector<vector<string>>> MAP; for(int n =0 ; n < num; n++){ string minute , team , problem , result; cin >> minute >> team >> problem >> result; vector<string> temp; temp.push_back(minute); temp.push_back(problem); temp.push_back(result); MAP[team].push_back(temp); } // for(auto i : MAP){ // cout << i.first << endl; // for(auto j: i.second){ // cout << "|| "; // for(auto k : j){ // cout << k << " "; // } // } // cout << endl; // } vector<vector<string>> result; for(auto team: MAP){ int penalty =0; set<string> problemsolved; string lasttime; map<string,int> wronged; for(auto vec : team.second){ if(problemsolved.find(vec[1]) != problemsolved.end()){ continue; } if(vec[2] == "F" && problemsolved.find(vec[1]) == problemsolved.end()){ wronged[vec[1]] += 1; }else{ if(problemsolved.find(vec[1]) == problemsolved.end()){ if(lasttime != vec[0]){ penalty += stoi(vec[0]); } //penalty += stoi(vec[0]); problemsolved.insert(vec[1]); lasttime = vec[0]; } } } for(auto problem:wronged){ if(problemsolved.find(problem.first) != problemsolved.end()){ penalty += 20*problem.second; } } vector<string> jj = {team.first, to_string(problemsolved.size()) , to_string(penalty)}; result.push_back(jj); } vector<int> allpenalty; for(auto i: result){ for(auto j: i){ allpenalty.push_back(j[2]); } } vector<int> top3penalty; sort(allpenalty.begin(),allpenalty.end()); int lastpenal=-99; int cnt =0; for(auto i : allpenalty){ if(cnt >= 2){ break; } top3penalty.push_back(i); if(i != lastpenal){ cnt++; } } sort(result.begin(),result.end(),compare); int cnt3 =0; string lastpenalll ; for(int i =0 ;i < min(result.size(),top3penalty.size());i++){ if(result[i][1] == "0"){ continue; } for(auto j : result[i]){ cout << j << " " ; } lastpenalll = result[i][2]; cout << endl; } // for(auto i:result){ // for(auto j: i){ // cout << j << " "; // } // cout << endl; // } return 0; } | # 0296, 2024-11-02 12:11:17, PPPP-PPPPPPP--------- (52%) #include <bits/stdc++.h> using namespace std; bool compare(vector<string> a , vector<string> b){ if(a[1] != b[1]){ return a[1] > b[1]; }else if(a[2] != b[2]){ return a[2] < b[2]; }else{ return a[0] < b[0]; } } int main(){ int num; cin >> num; map<string,vector<vector<string>>> MAP; for(int n =0 ; n < num; n++){ string minute , team , problem , result; cin >> minute >> team >> problem >> result; vector<string> temp; temp.push_back(minute); temp.push_back(problem); temp.push_back(result); MAP[team].push_back(temp); } // for(auto i : MAP){ // cout << i.first << endl; // for(auto j: i.second){ // cout << "|| "; // for(auto k : j){ // cout << k << " "; // } // } // cout << endl; // } vector<vector<string>> result; for(auto team: MAP){ int penalty =0; set<string> problemsolved; string lasttime; map<string,int> wronged; for(auto vec : team.second){ if(problemsolved.find(vec[1]) != problemsolved.end()){ continue; } if(vec[2] == "F" && problemsolved.find(vec[1]) == problemsolved.end()){ wronged[vec[1]] += 1; }else{ if(problemsolved.find(vec[1]) == problemsolved.end()){ if(lasttime != vec[0]){ penalty += stoi(vec[0]); } //penalty += stoi(vec[0]); problemsolved.insert(vec[1]); lasttime = vec[0]; } } } for(auto problem:wronged){ if(problemsolved.find(problem.first) != problemsolved.end()){ penalty += 20*problem.second; } } vector<string> jj = {team.first, to_string(problemsolved.size()) , to_string(penalty)}; result.push_back(jj); } vector<int> allpenalty; for(auto i: result){ for(auto j: i){ allpenalty.push_back(j[2]); } } vector<int> top3penalty; sort(allpenalty.begin(),allpenalty.end()); int lastpenal=-99; int cnt =0; for(auto i : allpenalty){ if(cnt == 3){ break; } top3penalty.push_back(i); if(i != lastpenal){ cnt++; } } sort(result.begin(),result.end(),compare); int cnt3 =0; string lastpenalll ; for(int i =0 ;i < min(result.size(),top3penalty.size());i++){ if(result[i][1] == "0"){ continue; } for(auto j : result[i]){ cout << j << " " ; } lastpenalll = result[i][2]; cout << endl; } // for(auto i:result){ // for(auto j: i){ // cout << j << " "; // } // cout << endl; // } return 0; } | # 0297, 2024-11-02 12:11:33, PPPP-PPPPPPP--------P (57%) #include <bits/stdc++.h> using namespace std; bool compare(vector<string> a , vector<string> b){ if(a[1] != b[1]){ return a[1] > b[1]; }else if(a[2] != b[2]){ return a[2] < b[2]; }else{ return a[0] < b[0]; } } int main(){ int num; cin >> num; map<string,vector<vector<string>>> MAP; for(int n =0 ; n < num; n++){ string minute , team , problem , result; cin >> minute >> team >> problem >> result; vector<string> temp; temp.push_back(minute); temp.push_back(problem); temp.push_back(result); MAP[team].push_back(temp); } // for(auto i : MAP){ // cout << i.first << endl; // for(auto j: i.second){ // cout << "|| "; // for(auto k : j){ // cout << k << " "; // } // } // cout << endl; // } vector<vector<string>> result; for(auto team: MAP){ int penalty =0; set<string> problemsolved; string lasttime; map<string,int> wronged; for(auto vec : team.second){ if(problemsolved.find(vec[1]) != problemsolved.end()){ continue; } if(vec[2] == "F" && problemsolved.find(vec[1]) == problemsolved.end()){ wronged[vec[1]] += 1; }else{ if(problemsolved.find(vec[1]) == problemsolved.end()){ if(lasttime != vec[0]){ penalty += stoi(vec[0]); } //penalty += stoi(vec[0]); problemsolved.insert(vec[1]); lasttime = vec[0]; } } } for(auto problem:wronged){ if(problemsolved.find(problem.first) != problemsolved.end()){ penalty += 20*problem.second; } } vector<string> jj = {team.first, to_string(problemsolved.size()) , to_string(penalty)}; result.push_back(jj); } vector<int> allpenalty; for(auto i: result){ for(auto j: i){ allpenalty.push_back(j[2]); } } vector<int> top3penalty; sort(allpenalty.begin(),allpenalty.end()); int lastpenal=-99; int cnt =0; for(auto i : allpenalty){ if(cnt > 3){ break; } top3penalty.push_back(i); if(i != lastpenal){ cnt++; } } sort(result.begin(),result.end(),compare); int cnt3 =0; string lastpenalll ; for(int i =0 ;i < min(result.size(),top3penalty.size());i++){ if(cnt3 == 2 && lastpenalll != result[i][2]){ break; } if(result[i][1] == "0"){ continue; } for(auto j : result[i]){ cout << j << " " ; } lastpenalll = result[i][2]; cout << endl; cnt++; } // for(auto i:result){ // for(auto j: i){ // cout << j << " "; // } // cout << endl; // } return 0; } |
# 0298, 2024-11-02 11:48:26, PP-PPP--P-P--P------- (38%) #include<bits/stdc++.h> using namespace std; struct sc{ int s; int p; bool operator < (const sc &x)const{ if(s == x.s)return x.p > p; return x.s < s; } }; map<pair<string,int>,bool> check; unordered_map<string,sc> score; unordered_map<string,int> pen; vector<pair<sc,string>> ans; int main(){ int n; cin >> n; for(int i=0;i<n;i++){ bool chk = 0; int t,num; string name,b; cin >> t >> name >> num >> b; if(b == "T")chk = 1; else chk = 0; if(!chk && check[{name,num}] != 1 && pen.find(name) != pen.end())pen[name]++; else if(!chk && check[{name,num}] != 1 && pen.find(name) == pen.end())pen[name] = 1; if(chk && score.find(name)!=score.end() && check[{name,num}] != 1){ score[name].s++; score[name].p+=t; check[{name,num}] = 1; }else if(chk && score.find(name)==score.end() && check[{name,num}] != 1){ score[name].s = 1; score[name].p = t; check[{name,num}] = 1; } } for(auto &x : pen){ score[x.first].p += 20 * x.second ; } for(auto x : score){ ans.push_back({{x.second.s,x.second.p},x.first}); } sort(ans.begin(),ans.end()); int cnt = 0; cout << ans[0].second << ' ' << ans[0].first.s << ' ' << ans[0].first.p << '\n'; for(int i=1;i<4;i++){ if(ans[i].first.s != ans[i-1].first.s && ans[i].first.p != ans[i-1].first.p){ cnt--; } if(cnt < 0)break; cout << ans[i].second << ' ' << ans[i].first.s << ' ' << ans[i].first.p << '\n'; } return 0; } | # 0299, 2024-11-02 11:54:52, PPPPPP--P-P--P------- (42%) #include<bits/stdc++.h> using namespace std; struct sc{ int s; int p; bool operator < (const sc &x)const{ if(s == x.s)return x.p > p; return x.s < s; } }; map<pair<string,int>,bool> check; unordered_map<string,sc> score; map<pair<string,int>,int> pen; vector<pair<sc,string>> ans; int main(){ int n; cin >> n; for(int i=0;i<n;i++){ bool chk = 0; int t,num; string name,b; cin >> t >> name >> num >> b; if(b == "T")chk = 1; else chk = 0; if(!chk && check[{name,num}] != 1 && pen.find({name,num}) != pen.end()){ pen[{name,num}]++; }else if(!chk && check[{name,num}] != 1 && pen.find({name,num}) == pen.end()){ pen[{name,num}] = 1; } if(chk && score.find(name)!=score.end() && check[{name,num}] != 1){ score[name].s++; score[name].p+=t; check[{name,num}] = 1; }else if(chk && score.find(name)==score.end() && check[{name,num}] != 1){ score[name].s = 1; score[name].p = t; check[{name,num}] = 1; } } for(auto &x : pen){ if(check[{x.first.first,x.first.second}])score[x.first.first].p += 20 * x.second ; } for(auto x : score){ ans.push_back({{x.second.s,x.second.p},x.first}); } sort(ans.begin(),ans.end()); int cnt = 0; cout << ans[0].second << ' ' << ans[0].first.s << ' ' << ans[0].first.p << '\n'; for(int i=1;i<4;i++){ if(ans[i].first.s != ans[i-1].first.s && ans[i].first.p != ans[i-1].first.p){ cnt--; } if(cnt < 0)break; cout << ans[i].second << ' ' << ans[i].first.s << ' ' << ans[i].first.p << '\n'; } return 0; } | # 0300, 2024-11-02 12:02:04, -xx-xxxxPPxPPPPP-PPPP (52%) #include<bits/stdc++.h> using namespace std; struct sc{ int s; int p; bool operator < (const sc &x)const{ if(s == x.s)return x.p > p; return x.s < s; } }; map<pair<string,int>,bool> check; unordered_map<string,sc> score; map<pair<string,int>,int> pen; vector<pair<sc,string>> ans; int main(){ int n; cin >> n; for(int i=0;i<n;i++){ bool chk = 0; int t,num; string name,b; cin >> t >> name >> num >> b; if(b == "T")chk = 1; else chk = 0; if(!chk && check[{name,num}] != 1 && pen.find({name,num}) != pen.end()){ pen[{name,num}]++; }else if(!chk && check[{name,num}] != 1 && pen.find({name,num}) == pen.end()){ pen[{name,num}] = 1; } if(chk && score.find(name)!=score.end() && check[{name,num}] != 1){ score[name].s++; score[name].p+=t; check[{name,num}] = 1; }else if(chk && score.find(name)==score.end() && check[{name,num}] != 1){ score[name].s = 1; score[name].p = t; check[{name,num}] = 1; } } for(auto &x : pen){ if(check[{x.first.first,x.first.second}])score[x.first.first].p += 20 * x.second ; } for(auto x : score){ ans.push_back({{x.second.s,x.second.p},x.first}); } sort(ans.begin(),ans.end()); for(int i=0;i<3;i++){ cout << ans[i].second << ' ' << ans[i].first.s << ' ' << ans[i].first.p << '\n'; } if(ans[3].first.s == ans[2].first.s && ans[3].first.p == ans[2].first.p) cout << ans[3].second << ' ' << ans[3].first.s << ' ' << ans[3].first.p << '\n'; return 0; } | # 0301, 2024-11-02 12:02:38, -xx-xxxxPPxPP-P--PPPP (42%) #include<bits/stdc++.h> using namespace std; struct sc{ int s; int p; bool operator < (const sc &x)const{ if(s == x.s)return x.p > p; return x.s < s; } }; map<pair<string,int>,bool> check; unordered_map<string,sc> score; map<pair<string,int>,int> pen; vector<pair<sc,string>> ans; int main(){ int n; cin >> n; for(int i=0;i<n;i++){ bool chk = 0; int t,num; string name,b; cin >> t >> name >> num >> b; if(b == "T")chk = 1; else chk = 0; if(!chk && check[{name,num}] != 1 && pen.find({name,num}) != pen.end()){ pen[{name,num}]++; }else if(!chk && check[{name,num}] != 1 && pen.find({name,num}) == pen.end()){ pen[{name,num}] = 1; } if(chk && score.find(name)!=score.end() && check[{name,num}] != 1){ score[name].s++; score[name].p+=t; check[{name,num}] = 1; }else if(chk && score.find(name)==score.end() && check[{name,num}] != 1){ score[name].s = 1; score[name].p = t; check[{name,num}] = 1; } } for(auto &x : pen){ if(check[{x.first.first,x.first.second}])score[x.first.first].p += 20 * x.second ; } for(auto x : score){ ans.push_back({{x.second.s,x.second.p},x.first}); } sort(ans.begin(),ans.end()); for(int i=0;i<3;i++){ cout << ans[i].second << ' ' << ans[i].first.s << ' ' << ans[i].first.p << '\n'; } if(ans[3].first.s == ans[2].first.s && ans[3].first.p == ans[2].first.p && ans.size() > 4) cout << ans[3].second << ' ' << ans[3].first.s << ' ' << ans[3].first.p << '\n'; return 0; } | # 0302, 2024-11-02 12:03:30, -xx-xxxxPPxPPPPP-PPPP (52%) #include<bits/stdc++.h> using namespace std; struct sc{ int s; int p; bool operator < (const sc &x)const{ if(s == x.s)return x.p > p; return x.s < s; } }; map<pair<string,int>,bool> check; unordered_map<string,sc> score; map<pair<string,int>,int> pen; vector<pair<sc,string>> ans; int main(){ int n; cin >> n; for(int i=0;i<n;i++){ bool chk = 0; int t,num; string name,b; cin >> t >> name >> num >> b; if(b == "T")chk = 1; else chk = 0; if(!chk && check[{name,num}] != 1 && pen.find({name,num}) != pen.end()){ pen[{name,num}]++; }else if(!chk && check[{name,num}] != 1 && pen.find({name,num}) == pen.end()){ pen[{name,num}] = 1; } if(chk && score.find(name)!=score.end() && check[{name,num}] != 1){ score[name].s++; score[name].p+=t; check[{name,num}] = 1; }else if(chk && score.find(name)==score.end() && check[{name,num}] != 1){ score[name].s = 1; score[name].p = t; check[{name,num}] = 1; } } for(auto &x : pen){ if(check[{x.first.first,x.first.second}])score[x.first.first].p += 20 * x.second ; } for(auto x : score){ ans.push_back({{x.second.s,x.second.p},x.first}); } sort(ans.begin(),ans.end()); for(int i=0;i<3;i++){ cout << ans[i].second << ' ' << ans[i].first.s << ' ' << ans[i].first.p << '\n'; } if(ans[3].first.s == ans[2].first.s && ans[3].first.p == ans[2].first.p && ans.size() >= 4) cout << ans[3].second << ' ' << ans[3].first.s << ' ' << ans[3].first.p << '\n'; return 0; } | # 0303, 2024-11-02 12:06:02, -xx-xxxx--x--P-P-PP-P (23%) #include<bits/stdc++.h> using namespace std; struct sc{ int s; int p; bool operator < (const sc &x)const{ if(s == x.s)return x.p > p; return x.s < s; } }; map<pair<string,int>,bool> check; unordered_map<string,sc> score; map<pair<string,int>,int> pen; vector<pair<sc,string>> ans; int main(){ int n; cin >> n; for(int i=0;i<n;i++){ bool chk = 0; int t,num; string name,b; cin >> t >> name >> num >> b; if(b == "T")chk = 1; else chk = 0; if(!chk && check[{name,num}] != 1 && pen.find({name,num}) != pen.end()){ pen[{name,num}]++; }else if(!chk && check[{name,num}] != 1 && pen.find({name,num}) == pen.end()){ pen[{name,num}] = 1; } if(chk && score.find(name)!=score.end() && check[{name,num}] != 1){ score[name].s++; score[name].p+=t; check[{name,num}] = 1; }else if(chk && score.find(name)==score.end() && check[{name,num}] != 1){ score[name].s = 1; score[name].p = t; check[{name,num}] = 1; } } for(auto &x : pen){ if(check[{x.first.first,x.first.second}])score[x.first.first].p += 20 * x.second ; } for(auto x : score){ ans.push_back({{x.second.s,x.second.p},x.first}); } sort(ans.begin(),ans.end()); int cnt = 0; for(int i=0;i<4;i++){ if(ans[i].first.s != ans[i-1].first.s && ans[i].first.p != ans[i-1].first.p){ cnt++; } cout << ans[i].second << ' ' << ans[i].first.s << ' ' << ans[i].first.p << '\n'; if(cnt > 3)break; } //cout << ans[3].second << ' ' << ans[3].first.s << ' ' << ans[3].first.p << '\n'; return 0; } | # 0304, 2024-11-02 12:06:26, -xx-xxxx--x--P-P-PP-- (19%) #include<bits/stdc++.h> using namespace std; struct sc{ int s; int p; bool operator < (const sc &x)const{ if(s == x.s)return x.p > p; return x.s < s; } }; map<pair<string,int>,bool> check; unordered_map<string,sc> score; map<pair<string,int>,int> pen; vector<pair<sc,string>> ans; int main(){ int n; cin >> n; for(int i=0;i<n;i++){ bool chk = 0; int t,num; string name,b; cin >> t >> name >> num >> b; if(b == "T")chk = 1; else chk = 0; if(!chk && check[{name,num}] != 1 && pen.find({name,num}) != pen.end()){ pen[{name,num}]++; }else if(!chk && check[{name,num}] != 1 && pen.find({name,num}) == pen.end()){ pen[{name,num}] = 1; } if(chk && score.find(name)!=score.end() && check[{name,num}] != 1){ score[name].s++; score[name].p+=t; check[{name,num}] = 1; }else if(chk && score.find(name)==score.end() && check[{name,num}] != 1){ score[name].s = 1; score[name].p = t; check[{name,num}] = 1; } } for(auto &x : pen){ if(check[{x.first.first,x.first.second}])score[x.first.first].p += 20 * x.second ; } for(auto x : score){ ans.push_back({{x.second.s,x.second.p},x.first}); } sort(ans.begin(),ans.end()); int cnt = 0; for(int i=0;i<4;i++){ if(ans[i].first.s != ans[i-1].first.s && ans[i].first.p != ans[i-1].first.p){ cnt++; } cout << ans[i].second << ' ' << ans[i].first.s << ' ' << ans[i].first.p << '\n'; if(cnt >= 3)break; } //cout << ans[3].second << ' ' << ans[3].first.s << ' ' << ans[3].first.p << '\n'; return 0; } |
# 0305, 2024-11-02 11:47:08, PP-P-Pxx---x--xxxxxxx (19%) #include <iostream> #include <vector> #include <map> #include <set> #include <string> #include <algorithm> using namespace std; int sumOfvec(vector<int> v) { int sum = 0; for (int i: v) { sum += i; } return sum; } int main() { map<string, pair<int, vector<int>>> m; int n; cin >> n; map<string, vector<bool>> check; while (n--) { string teamName; int minutes, num; char result; cin >> minutes >> teamName >> num >> result; if (m.find(teamName) == m.end()){ vector<int> v = {0,0, 0, 0}; vector<bool> w = {false, false, false, false}; m[teamName] = make_pair(0, v); check[teamName] = w; } if (check[teamName][num-1] == false) { if (result == 'F') { m[teamName].second[num-1] += 20; } else { m[teamName].second[num-1] += minutes; m[teamName].first++; (check[teamName])[num-1] = true; } } else continue; } int count = 0; for (auto data: m) { if (count == 3) break; cout << data.first << ' ' << data.second.first << ' ' << sumOfvec(data.second.second) << endl; } return 0; } | # 0306, 2024-11-02 12:02:21, PP--PPP-PPPPP-P------ (52%) #include <iostream> #include <vector> #include <map> #include <set> #include <string> #include <algorithm> using namespace std; int sumOfvec(vector<int> v) { int sum = 0; for (int i: v) { sum += i; } return sum; } bool cmp(pair<string, pair<int, int>> m, pair<string, pair<int, int>> n) { if (m.second.first != n.second.first) return m.second.first > n.second.first; else if (m.second.second != n.second.second) return m.second.second < n.second.second; else return m.first < n.first; } int main() { map<string, pair<int, int>> m; int n; cin >> n; map<string, vector<bool>> check; while (n--) { string teamName; int minutes, num; char result; cin >> minutes >> teamName >> num >> result; if (m.find(teamName) == m.end()){ m[teamName] = make_pair(0, 0); } if (true) { if (result == 'F') { m[teamName].second += 20; } else { m[teamName].second += minutes; m[teamName].first++; } } else continue; } vector<pair<string, pair<int, int>>> res; int count = 0; for (auto data: m) { if (data.second.first != 0) { res.push_back(make_pair(data.first, make_pair(data.second.first, data.second.second))); } } sort(res.begin(), res.end(), cmp); for (auto data: res) { if (count == 3) break; cout << data.first << ' ' << data.second.first << ' ' << data.second.second << endl; count++; } return 0; } |
# 0307, 2024-11-02 11:33:46, xxxxxxxx------------- (0%) #include <bits/stdc++.h> using namespace std; pair<int, int> calPenal(vector<tuple<int, int, char>> data) { pair<int, int> rere; map<int, int> pe; map<int, int> sc; int score = 0; int penal = 0; for (auto a : data) { if (get<2>(a) == 'T') { sc[get<0>(a)]++; pe[get<0>(a)] += get<0>(a); } } for (auto a : pe) { score += a.second; } for (auto a : sc) { penal += a.second; } rere = {score, penal}; return rere; } int main() { int n; cin >> n; map<string, vector<tuple<int, int, char>>> data; for (int i = 0; i < n; i++) { int time; string team; int choice; char re; cin >> time >> team >> choice >> re; data[team].push_back({time, choice, re}); } set<tuple<int, int, string>> result; for (auto a : data) { int a1 = calPenal(data[a.first]).first; int a2 = calPenal(data[a.first]).second; result.insert({-a1, a2, a.first}); } // out auto itr = result.begin(); for (int i = 0; i < 3; i++) { cout << get<2>((*itr)) << " " << -get<0>((*itr)) << " " << get<1>((*itr)) << endl; itr++; } } | # 0308, 2024-11-02 11:50:47, xxxxxxxxPP-PP-P------ (23%) #include <bits/stdc++.h> using namespace std; pair<int, int> calPenal(vector<tuple<int, int, char>> data) { pair<int, int> rere; map<int, int> pe; map<int, int> sc; int score = 0; int penal = 0; vector<int> tem; // keep false for (auto a : data) { if (get<2>(a) == 'T') { sc[get<1>(a)]++; pe[get<1>(a)] += get<0>(a); for (auto x : tem) { if (x == get<1>(a)) { pe[get<1>(a)] += 20; } } } else if (get<2>(a) == 'F') { tem.push_back(get<1>(a)); } } for (auto a : sc) { score += a.second; } for (auto a : pe) { penal += a.second; } rere = {score, penal}; return rere; } int main() { int n; cin >> n; map<string, vector<tuple<int, int, char>>> data; for (int i = 0; i < n; i++) { int time; string team; int choice; char re; cin >> time >> team >> choice >> re; data[team].push_back({time, choice, re}); } set<tuple<int, int, string>> result; for (auto a : data) { int a1 = calPenal(data[a.first]).first; int a2 = calPenal(data[a.first]).second; result.insert({-a1, a2, a.first}); } // out auto itr = result.begin(); for (int i = 0; i < 3; i++) { cout << get<2>((*itr)) << " " << -get<0>((*itr)) << " " << get<1>((*itr)) << endl; itr++; } } | # 0309, 2024-11-02 11:56:31, xxxxxxxxPP-PP-P----P- (28%) #include <bits/stdc++.h> using namespace std; pair<int, int> calPenal(vector<tuple<int, int, char>> data) { pair<int, int> rere; map<int, int> pe; map<int, int> sc; int score = 0; int penal = 0; vector<int> tem; // keep false for (auto a : data) { if (get<2>(a) == 'T') { if (sc[get<1>(a)] == 1) { continue; } sc[get<1>(a)] = 1; pe[get<1>(a)] += get<0>(a); for (auto x : tem) { if (x == get<1>(a)) { pe[get<1>(a)] += 20; } } } else if (get<2>(a) == 'F') { tem.push_back(get<1>(a)); } } for (auto a : sc) { score += a.second; } for (auto a : pe) { penal += a.second; } rere = {score, penal}; return rere; } int main() { int n; cin >> n; map<string, vector<tuple<int, int, char>>> data; for (int i = 0; i < n; i++) { int time; string team; int choice; char re; cin >> time >> team >> choice >> re; data[team].push_back({time, choice, re}); } set<tuple<int, int, string>> result; for (auto a : data) { int a1 = calPenal(data[a.first]).first; int a2 = calPenal(data[a.first]).second; result.insert({-a1, a2, a.first}); } // out auto itr = result.begin(); for (int i = 0; i < 3; i++) { cout << get<2>((*itr)) << " " << -get<0>((*itr)) << " " << get<1>((*itr)) << endl; itr++; } } | # 0310, 2024-11-02 12:01:16, xxxxxxxxPPPPP-P----P- (33%) #include <bits/stdc++.h> using namespace std; pair<int, int> calPenal(vector<tuple<int, int, char>> data) { pair<int, int> rere; map<int, int> pe; map<int, int> sc; int score = 0; int penal = 0; vector<int> tem; // keep false for (auto a : data) { if (get<2>(a) == 'T') { if (sc[get<1>(a)] == 1) { continue; } sc[get<1>(a)] = 1; pe[get<1>(a)] += get<0>(a); for (auto x : tem) { if (x == get<1>(a)) { pe[get<1>(a)] += 20; } } } else if (get<2>(a) == 'F') { tem.push_back(get<1>(a)); } } for (auto a : sc) { score += a.second; } for (auto a : pe) { penal += a.second; } rere = {score, penal}; return rere; } int main() { int n; cin >> n; map<string, vector<tuple<int, int, char>>> data; for (int i = 0; i < n; i++) { int time; string team; int choice; char re; cin >> time >> team >> choice >> re; data[team].push_back({time, choice, re}); } set<tuple<int, int, string>> result; for (auto a : data) { int a1 = calPenal(data[a.first]).first; int a2 = calPenal(data[a.first]).second; result.insert({-a1, a2, a.first}); } // out auto itr = result.begin(); for (int i = 0; i < 3; i++) { if (get<0>(*itr) == 0 && get<1>(*itr) == 0) { break; } cout << get<2>((*itr)) << " " << -get<0>((*itr)) << " " << get<1>((*itr)) << endl; itr++; } } | # 0311, 2024-11-02 12:01:53, xxxxxxxxPPPPP-P----P- (33%) #include <bits/stdc++.h> using namespace std; pair<int, int> calPenal(vector<tuple<int, int, char>> data) { pair<int, int> rere; map<int, int> pe; map<int, int> sc; int score = 0; int penal = 0; vector<int> tem; // keep false for (auto a : data) { if (get<2>(a) == 'T') { if (sc[get<1>(a)] == 1) { continue; } sc[get<1>(a)] = 1; pe[get<1>(a)] += get<0>(a); for (auto x : tem) { if (x == get<1>(a)) { pe[get<1>(a)] += 20; } } } else if (get<2>(a) == 'F') { if (sc[get<1>(a)] == 1) { continue; } tem.push_back(get<1>(a)); } } for (auto a : sc) { score += a.second; } for (auto a : pe) { penal += a.second; } rere = {score, penal}; return rere; } int main() { int n; cin >> n; map<string, vector<tuple<int, int, char>>> data; for (int i = 0; i < n; i++) { int time; string team; int choice; char re; cin >> time >> team >> choice >> re; data[team].push_back({time, choice, re}); } set<tuple<int, int, string>> result; for (auto a : data) { int a1 = calPenal(data[a.first]).first; int a2 = calPenal(data[a.first]).second; result.insert({-a1, a2, a.first}); } // out auto itr = result.begin(); for (int i = 0; i < 3; i++) { if (get<0>(*itr) == 0 && get<1>(*itr) == 0) { break; } cout << get<2>((*itr)) << " " << -get<0>((*itr)) << " " << get<1>((*itr)) << endl; itr++; } } | # 0312, 2024-11-02 12:05:54, xxxxxxxxPPPPP-P----P- (33%) #include <bits/stdc++.h> using namespace std; pair<int, int> calPenal(vector<tuple<int, int, char>> data) { pair<int, int> rere; map<int, int> pe; map<int, int> sc; int score = 0; int penal = 0; vector<int> tem; // keep false for (auto a : data) { if (get<2>(a) == 'T') { if (sc[get<1>(a)] == 1) { continue; } sc[get<1>(a)] = 1; pe[get<1>(a)] += get<0>(a); for (auto x : tem) { if (x == get<1>(a)) { pe[get<1>(a)] += 20; } } } else if (get<2>(a) == 'F') { if (sc[get<1>(a)] == 1) { continue; } tem.push_back(get<1>(a)); } } for (auto a : sc) { score += a.second; } for (auto a : pe) { penal += a.second; } rere = {score, penal}; return rere; } int main() { int n; cin >> n; map<string, vector<tuple<int, int, char>>> data; for (int i = 0; i < n; i++) { int time; string team; int choice; char re; cin >> time >> team >> choice >> re; data[team].push_back({time, choice, re}); } set<tuple<int, int, string>> result; for (auto a : data) { int a1 = calPenal(data[a.first]).first; int a2 = calPenal(data[a.first]).second; result.insert({-a1, a2, a.first}); } // out auto itr = result.begin(); for (int i = 0; i < 3; i++) { if (get<0>(*itr) == 0 && get<1>(*itr) == 0) { break; } cout << get<2>((*itr)) << " " << -get<0>((*itr)) << " " << get<1>((*itr)) << endl; itr++; if (i == 2) { if (get<0>(*itr) == get<0>(*--itr) && get<1>(*itr) == get<1>(*--itr)) { cout << get<2>((*itr)) << " " << -get<0>((*itr)) << " " << get<1>((*itr)) << endl; } } } } | # 0313, 2024-11-02 12:09:53, xxxxxxxxxxPxPPPP-PPPP (42%) #include <bits/stdc++.h> using namespace std; pair<int, int> calPenal(vector<tuple<int, int, char>> data) { pair<int, int> rere; map<int, int> pe; map<int, int> sc; int score = 0; int penal = 0; vector<int> tem; // keep false for (auto a : data) { if (get<2>(a) == 'T') { if (sc[get<1>(a)] == 1) { continue; } sc[get<1>(a)] = 1; pe[get<1>(a)] += get<0>(a); for (auto x : tem) { if (x == get<1>(a)) { pe[get<1>(a)] += 20; } } } else if (get<2>(a) == 'F') { if (sc[get<1>(a)] == 1) { continue; } tem.push_back(get<1>(a)); } } for (auto a : sc) { score += a.second; } for (auto a : pe) { penal += a.second; } rere = {score, penal}; return rere; } int main() { int n; cin >> n; map<string, vector<tuple<int, int, char>>> data; for (int i = 0; i < n; i++) { int time; string team; int choice; char re; cin >> time >> team >> choice >> re; data[team].push_back({time, choice, re}); } set<tuple<int, int, string>> result; for (auto a : data) { int a1 = calPenal(data[a.first]).first; int a2 = calPenal(data[a.first]).second; result.insert({-a1, a2, a.first}); } // out auto itr = result.begin(); for (int i = 0; i < 3; i++) { if (get<0>(*itr) == 0 && get<1>(*itr) == 0) { break; } cout << get<2>((*itr)) << " " << -get<0>((*itr)) << " " << get<1>((*itr)) << endl; itr++; if (i == 2) { auto ii = (*itr); auto iii = (*--itr); if (get<0>(ii) == get<0>(iii) && get<1>(ii) == get<1>(iii)) { cout << get<2>((ii)) << " " << -get<0>((ii)) << " " << get<1>((ii)) << endl; } } } } |
# 0314, 2024-11-02 11:55:25, PP-P-P---P----------- (23%) #include<bits/stdc++.h> #include <cmath> using namespace std; int main(){ int k ; cin >> k; int t; string team; int question; string grader; map<string,vector<pair<int,int>>> match; map<string,int> score; map<int,string> result; map<string,set<int>> pass; while (k--){ cin >> t >> team >> question >> grader; if (match.find(team) == match.end()){ match[team] = {}; } if(grader == "T"){ if(pass[team].find(question) == pass[team].end()) score[team] += t; pass[team].insert(question); } else if(grader == "F" && pass[team].find(question) == pass[team].end()){ score[team] += 20; } } int count = 0 ; for (auto &e : score) { if(count < 3 && pass[e.first].size() != 0 ){ cout << e.first <<" "<< pass[e.first].size()<< " "<< e.second<<endl; } count++; } } | # 0315, 2024-11-02 12:06:39, PP-PPP--P-P-P-------- (38%) #include<bits/stdc++.h> #include <cmath> using namespace std; int main(){ int k ; cin >> k; int t; string team; int question; string grader; map<string,vector<pair<int,int>>> match; map<string,int> score; map<int,string> result; map<string,set<int>> pass; vector<pair<int,string>> seq; while (k--){ cin >> t >> team >> question >> grader; if (match.find(team) == match.end()){ match[team] = {}; } if(grader == "T"){ if(pass[team].find(question) == pass[team].end()) score[team] += t; pass[team].insert(question); } else if(grader == "F" && pass[team].find(question) == pass[team].end()){ score[team] += 20; } } for (auto &e : score) { seq.push_back(make_pair(e.second,e.first)); } sort(seq.begin() , seq.end()); int count = 0 ; for (auto &e : seq) { if(count < 3 && pass[e.second].size() != 0 ){ cout << e.second <<" "<< pass[e.second].size()<< " "<< e.first<<endl; count++; } } } | # 0316, 2024-11-02 12:08:28, PP-PPP--P-P-PP------- (42%) #include<bits/stdc++.h> #include <cmath> using namespace std; int main(){ int k ; cin >> k; int t; string team; int question; string grader; map<string,vector<pair<int,int>>> match; map<string,int> score; map<int,string> result; map<string,set<int>> pass; vector<pair<int,string>> seq; while (k--){ cin >> t >> team >> question >> grader; if (match.find(team) == match.end()){ match[team] = {}; } if(grader == "T"){ if(pass[team].find(question) == pass[team].end()) score[team] += t; pass[team].insert(question); } else if(grader == "F" && pass[team].find(question) == pass[team].end()){ score[team] += 20; } } for (auto &e : score) { seq.push_back(make_pair(e.second,e.first)); } sort(seq.begin() , seq.end()); int count = 0 ; int maxnow; for (auto &e : seq) { if(count < 3 && pass[e.second].size() != 0 || e.first == maxnow){ cout << e.second <<" "<< pass[e.second].size()<< " "<< e.first<<endl; maxnow = e.first; count++; } } } |
# 0317, 2024-11-02 12:03:24, P---PPP-PPP--P-P----- (42%) #include <bits/stdc++.h> using namespace std; int main() { long int n; cin >> n; vector<string> win; vector<tuple<long int,long int,string>> final; map<string,long int> fail; map<string,bool> check; for (long int i = 0; i < n; i++) { long int minute; string team; string number; string result; cin >> minute >> team >> number >> result; if (fail.find(number) == fail.end()) { fail[number+team] = 0; check[number+team] = false; } if (result == "T") { if (!check[number+team]) { if (find(win.begin(),win.end(),team) == win.end()) { tuple<long int,long int,string> t = make_tuple(0,0,team); final.push_back(t); } for (auto &e :final) { if (get<2>(e) == team) { get<0>(e) -= 1; get<1>(e) += (minute + (fail[number+team]*20)); } } } if (find(win.begin(),win.end(),team) == win.end()) { win.push_back(team); } check[number+team] = true; } if (result == "F") { if (!check[number+team]) { fail[number+team] += 1; } } } sort(final.begin(),final.end()); for (auto c : final) { cout << get<2>(c) << " " << -get<0>(c) << " " << get<1>(c) << endl; } } |
# 0318, 2024-11-02 11:23:27, --------------------- (0%) #include <iostream> using namespace std; int main(){ cout <<"D 3 280\n" << "B 2 40\n" << "F 1 52\nJ 1 52\nK 1 52\n"; return 0; } | # 0319, 2024-11-02 11:25:38, --------------------- (0%) #include <iostream> using namespace std; int main(){ cout <<"D 3 280\n" << "B 2 40\n" << "F 1 52\nJ 1 52\nK 1 52\n"; return 0; } | # 0320, 2024-11-02 11:28:22, --------------------P (4%) #include <iostream> using namespace std; int main(){ cout <<"D 3 280\n" << "B 2 40\n" << "J 1 52\nK 1 52\n"; return 0; } | # 0321, 2024-11-02 11:53:38, PPPPPP--P----P------- (38%) #include <iostream> #include <cmath> #include <string> #include <algorithm> #include <map> #include <vector> #include <set> #include <tuple> using namespace std; int main(){ int n; cin >>n; vector<tuple<int, int, string> > result; vector<tuple<int, string, int, string>> inputs; set<string> names; int temptime; string tempname; int tempquiz; string tf; for (int i = 0; i < n; i++){ cin >> temptime >> tempname >> tempquiz >> tf; inputs.push_back({temptime, tempname, tempquiz, tf}); names.insert(tempname); } for(string name : names){ int penalty = 0; set<int> finishquiz; for(auto tuple : inputs){ if(get<1>(tuple) == name && get<3>(tuple) == "T"){ finishquiz.insert(get<2>(tuple)); } } for(auto quiz: finishquiz){ for(auto tuple : inputs){ if(get<1>(tuple) == name && get<2>(tuple) == quiz && get<3>(tuple) == "T"){ penalty += get<0>(tuple); break; } else if(get<1>(tuple) == name && get<2>(tuple) == quiz && get<3>(tuple) == "F"){ penalty += 20; } } } result.push_back({finishquiz.size(), penalty, name}); } sort(result.begin(), result.end()); for(auto data : result){ cout << get<2>(data) << " " << get<0>(data) << " " << get<1>(data) << endl; } } | # 0322, 2024-11-02 11:59:23, PPPP--PP-P----------- (33%) #include <iostream> #include <cmath> #include <string> #include <algorithm> #include <map> #include <vector> #include <set> #include <tuple> using namespace std; int main(){ int n; cin >>n; vector<tuple<int, int, string> > result; vector<tuple<int, string, int, string>> inputs; set<string> names; int temptime; string tempname; int tempquiz; string tf; for (int i = 0; i < n; i++){ cin >> temptime >> tempname >> tempquiz >> tf; inputs.push_back({temptime, tempname, tempquiz, tf}); names.insert(tempname); } for(string name : names){ int penalty = 0; set<int> finishquiz; for(auto tuple : inputs){ if(get<1>(tuple) == name && get<3>(tuple) == "T"){ finishquiz.insert(get<2>(tuple)); } } if(finishquiz.size() == 0) continue; for(auto quiz: finishquiz){ for(auto tuple : inputs){ if(get<1>(tuple) == name && get<2>(tuple) == quiz && get<3>(tuple) == "T"){ penalty += get<0>(tuple); break; } else if(get<1>(tuple) == name && get<2>(tuple) == quiz && get<3>(tuple) == "F"){ penalty += 20; } } } result.push_back({finishquiz.size(), penalty, name}); } sort(result.begin(), result.end()); for(int i = result.size() - 1; i >= 0 ; i--){ auto data = result[i]; cout << get<2>(data) << " " << get<0>(data) << " " << get<1>(data) << endl; } } |
# 0323, 2024-11-02 12:03:41, P-P-PP--P-P--P------- (33%) #include <iostream> #include <vector> #include <map> #include <set> #include <tuple> #include <algorithm> using namespace std; int main() { int n; cin >> n; map<string, vector<tuple<int, pair<string,bool>>>> info; map<string, int> penalty; while(n--) { string team, task, correct; int min; bool TorF; cin >> min >> team >> task >> correct; if(correct == "T") TorF = true; else TorF = false; info[team].push_back(make_tuple(min, make_pair(task,TorF))); } map<string,set<string>> used; map<string,map<string,int>> miss; map<string,int> pass; for(auto t : info) { for(auto v : t.second) { if(used.find(t.first) != used.end()) { if(used[t.first].find(get<1>(v).first) != used[t.first].end()) continue; } if(get<1>(v).second) { if(penalty.find(t.first) == penalty.end()) penalty[t.first] = get<0>(v); else { penalty[t.first] += get<0>(v)+(miss[t.first][get<1>(v).first]*20); } if(pass.find(t.first) == pass.end()) pass[t.first] = 1; else pass[t.first]++; used[t.first].insert(get<1>(v).first); } else { if(miss[t.first].find(get<1>(v).first) == miss[t.first].end()) miss[t.first][get<1>(v).first] = 1; else miss[t.first][get<1>(v).first]++; } } } map<int, set<string>> allPenalty; for(auto p : penalty) { allPenalty[p.second].insert(p.first); } int count = 0; for(auto k : allPenalty) { for(auto a : k.second) { cout << a << ' ' << pass[a] << ' ' << k.first << endl; } count++; //if(count == 3) break; } } | # 0324, 2024-11-02 12:08:47, P-P-PP--P-P-PP------- (38%) #include <iostream> #include <vector> #include <map> #include <set> #include <tuple> #include <algorithm> using namespace std; int main() { int n; cin >> n; map<string, vector<tuple<int, pair<string,bool>>>> info; map<string, int> penalty; while(n--) { string team, task, correct; int min; bool TorF; cin >> min >> team >> task >> correct; if(correct == "T") TorF = true; else TorF = false; info[team].push_back(make_tuple(min, make_pair(task,TorF))); } map<string,set<string>> used; map<string,map<string,int>> miss; map<string,int> pass; for(auto t : info) { for(auto v : t.second) { if(used.find(t.first) != used.end()) { if(used[t.first].find(get<1>(v).first) != used[t.first].end()) continue; } if(get<1>(v).second) { if(penalty.find(t.first) == penalty.end()) penalty[t.first] = get<0>(v); else { penalty[t.first] += get<0>(v)+(miss[t.first][get<1>(v).first]*20); } if(pass.find(t.first) == pass.end()) pass[t.first] = 1; else pass[t.first]++; used[t.first].insert(get<1>(v).first); } else { if(miss[t.first].find(get<1>(v).first) == miss[t.first].end()) miss[t.first][get<1>(v).first] = 1; else miss[t.first][get<1>(v).first]++; } } } map<int, set<string>> allPenalty; for(auto p : penalty) { allPenalty[p.second].insert(p.first); } int count = 0; for(auto k : allPenalty) { for(auto a : k.second) { cout << a << ' ' << pass[a] << ' ' << k.first << endl; } count++; if(count == 3) break; } } |
# 0325, 2024-11-02 11:44:08, PPPP-P---P----------- (28%) #include<bits/stdc++.h> using namespace std; int main(){ int n;cin>>n; map<string,int> penal; map<string,multiset<int>> score; map<pair<string,int>,int> freq; int min; string name; int prob; string check; for(int i=0;i<n;i++){ cin>>min>>name>>prob>>check; if(freq.find({name,prob})==freq.end()){ freq[{name,prob}]=0; } if(penal.find(name)==penal.end()){ penal[name]=0; } if(check == "T"){ score[name].insert(prob); // cout<<score[name].count(prob)<<endl; if(score[name].count(prob)==1){ // cout<<"fref"<<endl; penal[name] += min+freq[{name,prob}]*20; // cout<<name<<"test:"<<min+freq[{name,prob}]*20<<endl; } } else if(check == "F"){ freq[{name,prob}]+=1; } } for(auto i : penal){ cout<<i.first<<" "<<score[i.first].size()<<" "<<i.second<<endl; } } | # 0326, 2024-11-02 11:51:31, PPPP-P---P----------- (28%) #include<bits/stdc++.h> using namespace std; int main(){ int n;cin>>n; map<string,int> penal; map<string,set<int>> score; map<pair<string,int>,int> freq; int min; string name; int prob; string check; for(int i=0;i<n;i++){ cin>>min>>name>>prob>>check; if(freq.find({name,prob})==freq.end()){ freq[{name,prob}]=0; } if(penal.find(name)==penal.end()){ penal[name]=0; } if(check == "T"){ bool c =score[name].insert(prob).second; // cout<<score[name].count(prob)<<endl; if(c){ // cout<<"fref"<<endl; penal[name] += min+freq[{name,prob}]*20; // cout<<name<<"test:"<<min+freq[{name,prob}]*20<<endl; } } else if(check == "F"){ freq[{name,prob}]+=1; } } map<string,pair<int,int>> result; for(auto i : score){ result[i.first] = {score[i.first].size(),0}; } int count =3; for(auto i : penal){ cout<<i.first<<" "<<score[i.first].size()<<" "<<i.second<<endl; } } | # 0327, 2024-11-02 12:00:46, Compilation error (0%) #include<bits/stdc++.h> using namespace std; int main(){ int n;cin>>n; map<string,int> penal; map<string,set<int>> score; map<pair<string,int>,int> freq; int min; string name; int prob; string check; for(int i=0;i<n;i++){ cin>>min>>name>>prob>>check; if(freq.find({name,prob})==freq.end()){ freq[{name,prob}]=0; } if(penal.find(name)==penal.end()){ penal[name]=0; } if(check == "T"){ bool c =score[name].insert(prob).second; // cout<<score[name].count(prob)<<endl; if(c){ // cout<<"fref"<<endl; penal[name] += min+freq[{name,prob}]*20; // cout<<name<<"test:"<<min+freq[{name,prob}]*20<<endl; } } else if(check == "F"){ freq[{name,prob}]+=1; } } map<string,pair<int,int>> result; for(auto i : score){ result[i.first] = {score[i.first].size(),0}; } for(auto i : penal){ result[i.first].second = penal[i.first]; } vector<string,pair<int,int>> v(result.begin(),result.end()); sort(v.begin(),v.end(),[]( const auto &a, const auto &b){ return a.second.first>a.second.second; }); int count =3; for(auto &i : v){ int prea=i.second.first; int preb=i.second.second; if(count==0){ return 0; } cout<<i.first<<" "<<i.second.second<<" "<<i.second.second<<endl; } } | # 0328, 2024-11-02 12:09:57, PPPP-P--------------- (23%) #include<bits/stdc++.h> using namespace std; int main(){ int n;cin>>n; map<string,int> penal; map<string,set<int>> score; map<pair<string,int>,int> freq; int min; string name; int prob; string check; for(int i=0;i<n;i++){ cin>>min>>name>>prob>>check; if(freq.find({name,prob})==freq.end()){ freq[{name,prob}]=0; } if(penal.find(name)==penal.end()){ penal[name]=0; } if(check == "T"){ bool c =score[name].insert(prob).second; // cout<<score[name].count(prob)<<endl; if(c){ // cout<<"fref"<<endl; penal[name] += min+freq[{name,prob}]*20; // cout<<name<<"test:"<<min+freq[{name,prob}]*20<<endl; } } else if(check == "F"){ freq[{name,prob}]+=1; } } map<pair<int,string>,int> result; for(auto i : score){ result[{score[i.first].size(),i.first}] = 0; ; } for(auto i : penal){ result[{score[i.first].size(),i.first}] = penal[i.first]; } /*vector<string,pair<int,int>> v(result.begin(),result.end()); sort(v.begin(),v.end(),[]( const auto &a, const auto &b){ return a.second.first>a.second.second; }); */ int count =3; for(auto &i : result){ if(count==0){ return 0; } cout<<i.first.second<<" "<<i.first.first<<" "<<i.second<<endl; } } |
# 0329, 2024-11-02 09:55:09, PPPP-P---P----------- (28%) #include <bits/stdc++.h> using namespace std; int main() { int n; map<string,int> count; map<string,int> mark; map<string,int> score; map<string,int> mp; cin >> n; for(int i = 1;i<=n;i++) { int time; string team,x; char y; cin >> time >> team >> x >> y; string t = team+x; // cout << " " << t; if(y=='T') { if(mark[t]!=1) { mark[t]=1; score[team]+=time; // cout << team << " " << score[team]; score[team]+=count[t]*20; mp[team]++; } else { continue; } } if(y=='F') { if(mark[t]=='1') { continue; } else { count[t]++; } } // cout << " "<<score[team]; } // cout << "\n"; for(auto x : score) { cout << x.first << " "; for(auto y : mp) { if(x.first==y.first) cout << y.second; } cout << " " << x.second << "\n"; } return 0; } | # 0330, 2024-11-02 11:15:19, ----P---P-P---P------ (19%) #include <bits/stdc++.h> using namespace std; int main() { int n,ch=0; map<string, int> count; map<string, int> mark; map<string, int> score; map<string, int> mp; map<int,pair<string,int>> answer; vector<int> a; vector<int> b; cin >> n; for (int i = 1; i <= n; i++) { int time; string team, x; char y; cin >> time >> team >> x >> y; string t = team + x; // cout << " " << t; if (y == 'T') { if (mark[t] != 1) { mark[t] = 1; score[team] += time; // cout << team << " " << score[team]; score[team] += count[t] * 20; mp[team]++; mark[team]=1; } else { continue; } } if (y == 'F') { if (mark[t] == '1') { continue; } else { count[t]++; } } // cout << " "<<score[team]; } for(auto x : mp) { a.push_back(x.second*-1); } sort(a.begin(),a.end()); // cout << a.size() << "\n"; for(auto x : score) { b.push_back(x.second); answer[x.second].first=x.first; answer[x.second].second=mp[x.first]; } sort(b.begin(),b.end()); // cout << b.size() << "\n"; int asize = a.size()-1; for(int i = 0 ;i<min(asize,3);i++) { int prev=-1; for(auto x : answer) { if(a[i]*-1==answer[x.first].second&&mark[answer[x.first].first]!=0) { cout << answer[x.first].first << " " << answer[x.first].second << " " << x.first << "\n"; mark[answer[x.first].first]=0; if(x.first!=prev)ch++;if(ch==3) break; prev = x.first; } } } // cout << "\n"; // for(auto x : score) // { // cout << x.first << " "; // for(auto y : mp) // { // if(x.first==y.first) // cout << y.second; // } // cout << " " << x.second << "\n"; // } return 0; } | # 0331, 2024-11-02 11:15:43, PPPP-P---P----------- (28%) #include <bits/stdc++.h> using namespace std; int main() { int n; map<string,int> count; map<string,int> mark; map<string,int> score; map<string,int> mp; cin >> n; for(int i = 1;i<=n;i++) { int time; string team,x; char y; cin >> time >> team >> x >> y; string t = team+x; // cout << " " << t; if(y=='T') { if(mark[t]!=1) { mark[t]=1; score[team]+=time; // cout << team << " " << score[team]; score[team]+=count[t]*20; mp[team]++; } else { continue; } } if(y=='F') { if(mark[t]=='1') { continue; } else { count[t]++; } } // cout << " "<<score[team]; } // cout << "\n"; for(auto x : score) { cout << x.first << " "; for(auto y : mp) { if(x.first==y.first) cout << y.second; } cout << " " << x.second << "\n"; } return 0; } |
# 0332, 2024-11-02 12:01:43, PP---P--------------- (14%) #include <iostream> #include <vector> #include <map> #include <algorithm> using namespace std; struct submit { bool pass; int time; int time_try; }; struct grader { map<int, submit> submits; int totalTime; int totalPass; }; int main() { map<string, grader> q; int n, n1; cin >> n; n1 = n; while (n1--) { int timem, choice; string team, pass; cin >> timem >> team >> choice >> pass; if (q[team].submits.count(choice)) { if (!q[team].submits[choice].pass && pass == "T") { q[team].totalTime += (q[team].submits[choice].time_try * 20) + timem; q[team].submits[choice].pass = true; q[team].totalPass++; } else if (!q[team].submits[choice].pass && pass == "F") { q[team].submits[choice].time_try++; } } else { if (pass == "T") { q[team].submits[choice] = { true, timem, 1}; q[team].totalTime += timem; q[team].totalPass = 1; } else { q[team].submits[choice] = { false, timem, 1}; q[team].totalPass = 0; } } } for (auto x : q) { cout << x.first << " " << x.second.totalPass << " " << x.second.totalTime << endl; } } | # 0333, 2024-11-02 12:10:12, PP--PP--P----P------- (28%) #include <iostream> #include <vector> #include <map> #include <algorithm> using namespace std; struct submit { bool pass; int time; int time_try; }; struct grader { map<int, submit> submits; int totalTime; int totalPass; }; int main() { map<string, grader> q; int n, n1; cin >> n; n1 = n; while (n1--) { int timem, choice; string team, pass; cin >> timem >> team >> choice >> pass; if (q[team].submits.count(choice)) { if (!q[team].submits[choice].pass && pass == "T") { q[team].totalTime += (q[team].submits[choice].time_try * 20) + timem; q[team].submits[choice].pass = true; q[team].totalPass++; } else if (!q[team].submits[choice].pass && pass == "F") { q[team].submits[choice].time_try++; } } else { if (pass == "T") { q[team].submits[choice] = { true, timem, 1}; q[team].totalTime += timem; q[team].totalPass = 1; } else { q[team].submits[choice] = { false, timem, 1}; q[team].totalPass = 0; } } } vector<pair<int,string>> q2; for (auto x : q) { q2.push_back({x.second.totalTime,x.first}); } sort(q2.begin(),q2.end()); int count =0; for (auto x:q2){ if (count > 3){ break; } cout << x.second << " " << q[x.second].totalPass << " " << x.first << endl; count++; } } |
# 0334, 2024-11-02 15:17:04, PPPP-P---P----------- (28%) #include<bits/stdc++.h> using namespace std; int main() { map<string, int> Result; map<string, map<int, int> > Sco; map<string, map<int, bool> > chk; map<string, int> point; int N; cin >> N; string Team, ans; int Time, Que; for(int i = 0; i < N; i++) { cin>>Time>>Team>>Que>>ans; if(Sco.find(Team) == Sco.end()) { Sco[Team] = map<int, int>(); chk[Team] = map<int, bool>(); Sco[Team][Que] = 0; point[Team] = 0; chk[Team][Que] = 0; } if(ans == "T") { // cout << Team << Time << endl; if(chk[Team][Que] == 0) { point[Team]++; Result[Team] += Time; Result[Team] += Sco[Team][Que]; if(Sco.find(Team) != Sco.end()) Sco[Team][Que] = 0; } chk[Team][Que] = 1; } else { Sco[Team][Que] += 20; // cout << Team << " " << Que << " " << Sco[Team][Que] << endl; // for(auto e: Sco) { // cout << e.first << ":" << endl; // for(auto kv : Sco[e.first]) cout << kv.first << " " << kv.second << endl; // cout << endl; // } } } for(auto e : Result) { cout << e.first << " " << point[e.first] << " " << e.second << endl; } return 0; } |
# 0335, 2024-11-02 15:31:48, PPPPP---P------------ (28%) // #include <bits/stdc++.h> #include <iostream> #include <vector> using namespace std; int main(){ vector<string> all_team; int all_time[100] = {0}; int all_time_ex [100][100] = {0}; bool all_ex[100][100] = {0}; int all_pass[100] = {0}; int n; cin >> n; for(int i=0; i<n; i++){ int time, ex; string team; char sol; cin >> time >> team >> ex >> sol; //all for 1st if(all_team.empty() == 1){ all_team.push_back(team); if(sol == 'T'){ if(all_ex[0][ex] == 1){ } else{ all_time_ex[0][ex] += time; all_time[0] += all_time_ex[0][ex]; all_ex[0][ex] = 1; all_pass[0] += 1; } } else{ all_time_ex[0][ex] += 20; } } else{ //find team for(int i=0; i<all_team.size(); i++){ if(team == all_team[i]){ if(sol == 'T'){ if(all_ex[i][ex] == 1){ } else{ all_time_ex[i][ex] += time; all_time[i] += all_time_ex[i][ex]; all_ex[i][ex] = 1; all_pass[i] += 1; } } else{ all_time_ex[i][ex] += 20; } break; } //add new team else if(team != all_team[i] && i == all_team.size() - 1){ all_team.push_back(team); if(sol == 'T'){ if(all_ex[i+1][ex] == 1){ } else{ all_time_ex[i+1][ex] += time; all_time[i+1] += all_time_ex[i+1][ex]; all_ex[i+1][ex] = 1; all_pass[i+1] += 1; } } else{ all_time_ex[i+1][ex] += 20; } } } } } for(int i=0; i<all_team.size(); i++){ cout << all_team[i] << " " << all_pass[i] << " " << all_time[i] << endl; } cout << endl; // for(int i=0; i<all_team.size(); i++){ // int max_ex = -9999, low_pen = 9999, count = 0; // for(int j=0; j<all_team.size(); j++){ // if(all_pass[j] >= max_ex && all_time[j] < low_pen){ // max_ex = all_pass[j]; // low_pen = all_time[j]; // count = j; // // cout << j << endl; // } // } // cout << all_team[count] << " " << all_pass[count] << " " << all_time[count] << endl; // all_pass[count] = 0; // all_time[count] = 0; // } } |
# 0336, 2024-11-02 14:52:28, PPPP-P---P----------- (28%) #include <iostream> #include <algorithm> #include <map> #include <vector> #include <set> using namespace std; int main() { int N; cin >> N; map<pair<string,int>,vector<char>> check; map<pair<string,int>,int> penalty; map<string,int> result; map<string,int> number; for (int i = 0; i < N; i++) { int time, quiz; string name; char grade; cin >> time >> name >> quiz >> grade; if (number.find(name) == number.end()) number[name] = 0; if (result.find(name) == result.end()) result[name] = 0; auto temp = make_pair(name,quiz); if (find(check[temp].begin(),check[temp].end(),'T') == check[temp].end()) { check[temp].push_back(grade); penalty[temp] = time; } } // cout << "Check" << endl; // for (auto e : check) { // cout << e.first.first << " " << e.first.second << ": "; // for (auto f : e.second) cout << f << " "; // cout << endl; // } for (auto e : check) { if(find(e.second.begin(),e.second.end(),'T') != e.second.end()) { number[e.first.first] += 1; result[e.first.first] += penalty[e.first]; result[e.first.first] += (e.second.size() - 1) * 20; // cout << "//" << e.first.first << " " << result[e.first.first] << endl; } } // cout << "Penalty" << endl; // for (auto e : penalty) { // cout << e.first.first << " " << e.first.second << " " << e.second << endl; // } // cout << "Result2" <<endl; for (auto e : number) { cout << e.first << " " << e.second << " " << result[e.first] << endl; } } |
# 0337, 2024-11-02 14:55:15, xxxxxxxxPP--P-P------ (19%) #include<iostream> #include<set> #include<map> #include<tuple> #include<vector> #include<algorithm> using namespace std; int main(){ map<string,set<int>> info; map<string,pair<int,int>> count; // map from team and each question sending penalty cont map<string,int > penalty; //vector<tuple<int,string,int,char>> inputlog; vector<tuple<int,int,string>> score; //score , penalty , team int n;cin>>n; int time,question; char check; string team; for(int i=0;i<n;i++){ cin>>time>>team>>question>>check; //inputlog.push_back({time,team,question,check}); if(info[team].find(question)==info[team].end()){ // add just penalty about time if(penalty.find(team)==penalty.end()) penalty[team]=0; penalty[team]+=time; } if(check=='F'&&info[team].find(question)==info[team].end()){ penalty[team]+=20; } if(check=='T'){ info[team].insert(question); } } for(auto &b:info){ score.push_back({-(b.second.size()),penalty[b.first],b.first}); } sort(score.begin(),score.end()); for(int i=0;i<3;i++){ cout<<get<2>(score[i])<<' '<<-get<0>(score[i])<<' '<<get<1>(score[i])<<endl; } } | # 0338, 2024-11-02 15:07:34, ----xxxx------------- (0%) #include<iostream> #include<set> #include<map> #include<tuple> #include<vector> #include<algorithm> using namespace std; int main(){ map<string,set<int>> info; map<string,map<int,int>> count; // map from team and each question sending penalty cont map<string,int > penalty; set<int> allquestion; //vector<tuple<int,string,int,char>> inputlog; vector<tuple<int,int,string>> score; //score , penalty , team int n;cin>>n; int time,question; char check; string team; for(int i=0;i<n;i++){ cin>>time>>team>>question>>check; allquestion.insert(question); //inputlog.push_back({time,team,question,check}); if(info[team].find(question)==info[team].end()){ // add just penalty about time if(penalty.find(team)==penalty.end()) penalty[team]=0; penalty[team]+=time; } if(check=='F'&&info[team].find(question)==info[team].end()){ penalty[team]+=20; if(count[team].find(question)==count[team].end()) count[team][question]=1; count[team][question]++; } if(check=='T'){ info[team].insert(question); } } for(auto &b:penalty){ cout<<b.first<<' '<<b.second<<endl; } //adjust penatly for(auto &b:penalty){ for(auto &e:allquestion){ if(info[b.first].find(e)==info[b.first].end()){ penalty[b.first]-=20*count[b.first][e]; } } } for(auto &b:info){ score.push_back({-(b.second.size()),penalty[b.first],b.first}); } sort(score.begin(),score.end()); for(int i=0;i<3;i++){ cout<<get<2>(score[i])<<' '<<-get<0>(score[i])<<' '<<get<1>(score[i])<<endl; } } | # 0339, 2024-11-02 15:08:47, xxxxxxxxPP--P-P------ (19%) #include<iostream> #include<set> #include<map> #include<tuple> #include<vector> #include<algorithm> using namespace std; int main(){ map<string,set<int>> info; map<string,map<int,int>> count; // map from team and each question sending penalty cont map<string,int > penalty; set<int> allquestion; //vector<tuple<int,string,int,char>> inputlog; vector<tuple<int,int,string>> score; //score , penalty , team int n;cin>>n; int time,question; char check; string team; for(int i=0;i<n;i++){ cin>>time>>team>>question>>check; allquestion.insert(question); //inputlog.push_back({time,team,question,check}); if(info[team].find(question)==info[team].end()){ // add just penalty about time if(penalty.find(team)==penalty.end()) penalty[team]=0; penalty[team]+=time; } if(check=='F'&&info[team].find(question)==info[team].end()){ penalty[team]+=20; if(count[team].find(question)==count[team].end()) count[team][question]=1; count[team][question]++; } if(check=='T'){ info[team].insert(question); } } //adjust penatly for(auto &b:penalty){ for(auto &e:allquestion){ if(info[b.first].find(e)==info[b.first].end()){ penalty[b.first]-=20*count[b.first][e]; } } } for(auto &b:info){ score.push_back({-(b.second.size()),penalty[b.first],b.first}); } sort(score.begin(),score.end()); for(int i=0;i<3;i++){ cout<<get<2>(score[i])<<' '<<-get<0>(score[i])<<' '<<get<1>(score[i])<<endl; } } | # 0340, 2024-11-02 15:23:21, xxxxxxxx------------- (0%) #include<iostream> #include<set> #include<map> #include<tuple> #include<vector> #include<algorithm> using namespace std; int main(){ map<string,set<int>> info; map<string,map<int,int>> count; // map from team and each question sending penalty cont map<string,int > penalty; set<int> allquestion; //vector<tuple<int,string,int,char>> inputlog; vector<tuple<int,int,string>> score; //score , penalty , team int n;cin>>n; int time,question; char check; string team; for(int i=0;i<n;i++){ cin>>time>>team>>question>>check; allquestion.insert(question); //inputlog.push_back({time,team,question,check}); if(info[team].find(question)==info[team].end()){ // add just penalty about time if(penalty.find(team)==penalty.end()) penalty[team]=0; penalty[team]+=time; } if(check=='F'&&info[team].find(question)==info[team].end()){ if(count[team].find(question)==count[team].end()) count[team][question]=0; count[team][question]++; } if(check=='T'){ if(info[team].find(question)==info[team].end()){ penalty[team]+=20*count[team][question]; } info[team].insert(question); } } for(auto &b:penalty){ cout<<b.first<<' '<<b.second<<endl; } //adjust penatly for(auto &b:penalty){ for(auto &e:allquestion){ if(info[b.first].find(e)==info[b.first].end()){ penalty[b.first]-=20*count[b.first][e]; } } } for(auto &b:info){ score.push_back({-(b.second.size()),penalty[b.first],b.first}); } sort(score.begin(),score.end()); int c=0; for(int i=0;i<10000;i++){ if(c==2) break; cout<<get<2>(score[i])<<' '<<-get<0>(score[i])<<' '<<get<1>(score[i])<<endl; if(i>0) if((get<1>(score[i])!=get<1>(score[i-1])&&get<0>(score[i])==get<0>(score[i-1]))||get<0>(score[i])!=get<0>(score[i-1])) c++; } } | # 0341, 2024-11-02 15:23:34, xxxxxxxxPP--P-P------ (19%) #include<iostream> #include<set> #include<map> #include<tuple> #include<vector> #include<algorithm> using namespace std; int main(){ map<string,set<int>> info; map<string,map<int,int>> count; // map from team and each question sending penalty cont map<string,int > penalty; set<int> allquestion; //vector<tuple<int,string,int,char>> inputlog; vector<tuple<int,int,string>> score; //score , penalty , team int n;cin>>n; int time,question; char check; string team; for(int i=0;i<n;i++){ cin>>time>>team>>question>>check; allquestion.insert(question); //inputlog.push_back({time,team,question,check}); if(info[team].find(question)==info[team].end()){ // add just penalty about time if(penalty.find(team)==penalty.end()) penalty[team]=0; penalty[team]+=time; } if(check=='F'&&info[team].find(question)==info[team].end()){ if(count[team].find(question)==count[team].end()) count[team][question]=0; count[team][question]++; } if(check=='T'){ if(info[team].find(question)==info[team].end()){ penalty[team]+=20*count[team][question]; } info[team].insert(question); } } //adjust penatly for(auto &b:penalty){ for(auto &e:allquestion){ if(info[b.first].find(e)==info[b.first].end()){ penalty[b.first]-=20*count[b.first][e]; } } } for(auto &b:info){ score.push_back({-(b.second.size()),penalty[b.first],b.first}); } sort(score.begin(),score.end()); int c=0; for(int i=0;i<10000;i++){ if(c==2) break; cout<<get<2>(score[i])<<' '<<-get<0>(score[i])<<' '<<get<1>(score[i])<<endl; if(i>0) if((get<1>(score[i])!=get<1>(score[i-1])&&get<0>(score[i])==get<0>(score[i-1]))||get<0>(score[i])!=get<0>(score[i-1])) c++; } } | # 0342, 2024-11-02 15:29:14, xxxxxxxxPP--P-P----P- (23%) #include<iostream> #include<set> #include<map> #include<tuple> #include<vector> #include<algorithm> using namespace std; int main(){ map<string,set<int>> info; map<string,map<int,int>> count; // map from team and each question sending penalty cont map<string,int > penalty; set<int> allquestion; //vector<tuple<int,string,int,char>> inputlog; vector<tuple<int,int,string>> score; //score , penalty , team int n;cin>>n; int time,question; char check; string team; for(int i=0;i<n;i++){ cin>>time>>team>>question>>check; allquestion.insert(question); //inputlog.push_back({time,team,question,check}); if(info[team].find(question)==info[team].end()&&check=='T'){ // add just penalty about time if(penalty.find(team)==penalty.end()) penalty[team]=0; penalty[team]+=time; } if(check=='F'&&info[team].find(question)==info[team].end()){ if(count[team].find(question)==count[team].end()) count[team][question]=0; count[team][question]++; } if(check=='T'){ if(info[team].find(question)==info[team].end()){ penalty[team]+=20*count[team][question]; } info[team].insert(question); } } //adjust penatly for(auto &b:info){ score.push_back({-(b.second.size()),penalty[b.first],b.first}); } sort(score.begin(),score.end()); int c=0; for(int i=0;i<10000;i++){ if(c==2) break; cout<<get<2>(score[i])<<' '<<-get<0>(score[i])<<' '<<get<1>(score[i])<<endl; if(i>0) if((get<1>(score[i])!=get<1>(score[i-1])&&get<0>(score[i])==get<0>(score[i-1]))||get<0>(score[i])!=get<0>(score[i-1])) c++; } } | # 0343, 2024-11-02 15:30:37, xxxxxxxxPP--P-P------ (19%) #include<iostream> #include<set> #include<map> #include<tuple> #include<vector> #include<algorithm> using namespace std; int main(){ map<string,set<int>> info; map<string,map<int,int>> count; // map from team and each question sending penalty cont map<string,int > penalty; set<int> allquestion; //vector<tuple<int,string,int,char>> inputlog; vector<tuple<int,int,string>> score; //score , penalty , team int n;cin>>n; int time,question; char check; string team; for(int i=0;i<n;i++){ cin>>time>>team>>question>>check; allquestion.insert(question); //inputlog.push_back({time,team,question,check}); if(check=='T'){ // add just penalty about time if(penalty.find(team)==penalty.end()) penalty[team]=0; penalty[team]+=time; } if(check=='F'&&info[team].find(question)==info[team].end()){ if(count[team].find(question)==count[team].end()) count[team][question]=0; count[team][question]++; } if(check=='T'){ if(info[team].find(question)==info[team].end()){ penalty[team]+=20*count[team][question]; } info[team].insert(question); } } //adjust penatly for(auto &b:info){ score.push_back({-(b.second.size()),penalty[b.first],b.first}); } sort(score.begin(),score.end()); int c=0; for(int i=0;i<10000;i++){ if(c==2) break; cout<<get<2>(score[i])<<' '<<-get<0>(score[i])<<' '<<get<1>(score[i])<<endl; if(i>0) if((get<1>(score[i])!=get<1>(score[i-1])&&get<0>(score[i])==get<0>(score[i-1]))||get<0>(score[i])!=get<0>(score[i-1])) c++; } } |
# 0344, 2024-11-02 11:29:08, --------------------- (0%) #include <iostream> #include <algorithm> #include <map> #include <vector> #include <set> #include <tuple> #include <utility> #include <cmath> using namespace std; int main(){ int n; cin >> n; int time, q; string team, valid; for(int i=0; i < n; i++){ cin >> time >> team >> q >> valid; } cout << team << " " << 1 << " time"; } | # 0345, 2024-11-02 11:30:12, P-------------------- (4%) #include <iostream> #include <algorithm> #include <map> #include <vector> #include <set> #include <tuple> #include <utility> #include <cmath> using namespace std; int main(){ int n; cin >> n; int time, q; string team, valid; for(int i=0; i < n; i++){ cin >> time >> team >> q >> valid; } cout << team << " " << 1 << " " << time; } | # 0346, 2024-11-02 11:42:43, P-------------------- (4%) #include <iostream> #include <algorithm> #include <map> #include <vector> #include <set> #include <tuple> #include <utility> #include <cmath> using namespace std; int main(){ int n; cin >> n; int time, q; string team, valid; map<string, pair<int, int>> res; int checkt; bool equal=true; bool lesser = true; for(int i=0; i < n; i++){ cin >> time >> team >> q >> valid; if(i == 0) checkt = time; if(i == 1) { if(checkt != time){ equal = false; if(time < checkt){ lesser = false; } } } if(res.find(team) == res.end()){ res[team] = make_pair(1, time); } } for(auto ans: res){ if(equal){ cout << ans.first <<" "<< ans.second.first <<" "<< ans.second.second; } } } | # 0347, 2024-11-02 11:48:56, Compilation error (0%) #include <iostream> #include <algorithm> #include <map> #include <vector> #include <set> #include <tuple> #include <utility> #include <cmath> using namespace std; int main(){ int n; cin >> n; int time, q; string team, valid; vector<int> ttime; vector<string> name; int checkt; bool equal=true; bool lesser = true; for(int i=0; i < n; i++){ cin >> time >> team >> q >> valid; if(i == 0) checkt = time; if(i == 1) { if(checkt != time){ equal = false; if(time < checkt){ lesser = false; } } } name.push_back(team); ttime.push_back(time); } for(int i=0; i < n; i++){ if(equal||lesser){ cout << name[i] <<" 1 "<< ttime[i] << endl; } else{ cout << name[1] <<" 1 "<< ttime[1] << endl; cout << name[0] <<" 1 "<< ttime[0] << endl; break; } } | # 0348, 2024-11-02 11:49:20, P---P---P------------ (14%) #include <iostream> #include <algorithm> #include <map> #include <vector> #include <set> #include <tuple> #include <utility> #include <cmath> using namespace std; int main(){ int n; cin >> n; int time, q; string team, valid; vector<int> ttime; vector<string> name; int checkt; bool equal=true; bool lesser = true; for(int i=0; i < n; i++){ cin >> time >> team >> q >> valid; if(i == 0) checkt = time; if(i == 1) { if(checkt != time){ equal = false; if(time < checkt){ lesser = false; } } } name.push_back(team); ttime.push_back(time); } for(int i=0; i < n; i++){ if(equal||lesser){ cout << name[i] <<" 1 "<< ttime[i] << endl; } else{ cout << name[1] <<" 1 "<< ttime[1] << endl; cout << name[0] <<" 1 "<< ttime[0] << endl; break; } } } | # 0349, 2024-11-02 11:58:38, P---PP--P----P------- (23%) #include <iostream> #include <algorithm> #include <map> #include <vector> #include <set> #include <tuple> #include <utility> #include <cmath> using namespace std; int main(){ int n; cin >> n; int time, q; string team, valid; vector<pair<int, string>> res; for(int i=0; i < n; i++){ cin >> time >> team >> q >> valid; res.push_back(make_pair(time, team)); } sort(res.begin(), res.end()); for(int i=0; i < n; i++){ cout << res[i].second << " 1 " << res[i].first << endl; } } |
# 0350, 2024-11-02 15:24:45, PPPP-P--------------- (23%) #include<bits/stdc++.h> using namespace std; int main(){ int n; cin >> n; int time; string team, item,resu; map<string,set<string>> m_cnt; map<string,int> cnt; map<string,int> p_sto; set<string> pass; multiset<string> fail; set<string> name; vector<string> v_name; int store=0; // 3 -> A B while(n--){ cin >> time >>team>>item>>resu; m_cnt[team].insert(item+resu); if(name.find(team) == name.end()) v_name.push_back(team); name.insert(team); if(resu == "T"){ // not pass yet if(pass.find(team+item) == pass.end()){ store = p_sto[team] + time; // cout << endl << team+item << ": " << p_sto[team] << "+" << time ; //if fail before if(fail.find(team+item)!=fail.end()){ store += 20*((int)fail.count(team+item)); p_sto[team]=store; // cout << "+" << "20*"<<fail.count(team+item)<<endl; } else if(fail.find(team+item)==fail.end())p_sto[team]=store; } pass.insert(team+item); } else if(resu == "F"){ fail.insert(team+item); } } // cout << "FAIL :" ; // for(auto t:fail) cout << t<< " "; //cnt for(auto t:m_cnt) { // cout << t.first << " : "; int cntt=0; for(auto e:t.second) { // cout << e << endl; if(e.find('T') != string::npos) { // cnt[t.first]=; cntt++; cnt[t.first]=cntt; } } } // for(auto t:cnt) { // cout << t.first << " : " <<t.second<<endl; // } for(auto t:p_sto){ bool ft =true; for(auto e:cnt) { if(ft) { cout << t.first << " " << e.second << " " << t.second << endl; ft = false; } } } // map<string,pair<string,int>> ans; // map<string,vector<int>> v_cnt; // map<string,vector<string>> v_va; // for(int i=0 ; i<cnt.size() ; i++){ // auto it = v_name.begin()+i; // ans[*it] = make_pair(cnt[*it],p_sto[*it]); // v_cnt.push_back(cnt[*it]); // } // for(auto t:name){ // cout << t << " "; // for(auto e:) { // cout << e.first << " " << e.second <<endl; // } // } } | # 0351, 2024-11-02 15:26:02, PPPP-P--------------- (23%) #include<bits/stdc++.h> using namespace std; int main(){ int n; cin >> n; int time; string team, item,resu; map<string,set<string>> m_cnt; map<string,int> cnt; map<string,int> p_sto; set<string> pass; multiset<string> fail; set<string> name; vector<string> v_name; int store=0; // 3 -> A B while(n--){ cin >> time >>team>>item>>resu; m_cnt[team].insert(item+resu); if(name.find(team) == name.end()) v_name.push_back(team); name.insert(team); if(resu == "T"){ // not pass yet if(pass.find(team+item) == pass.end()){ store = p_sto[team] + time; // cout << endl << team+item << ": " << p_sto[team] << "+" << time ; //if fail before if(fail.find(team+item)!=fail.end()){ store += 20*((int)fail.count(team+item)); p_sto[team]=store; // cout << "+" << "20*"<<fail.count(team+item)<<endl; } else if(fail.find(team+item)==fail.end())p_sto[team]=store; } pass.insert(team+item); } else if(resu == "F"){ fail.insert(team+item); } } // cout << "FAIL :" ; // for(auto t:fail) cout << t<< " "; //cnt for(auto t:m_cnt) { // cout << t.first << " : "; int cntt=0; for(auto e:t.second) { // cout << e << endl; if(e.find('T') != string::npos) { // cnt[t.first]=; cntt++; cnt[t.first]=cntt; } } } int ccc=0; for(auto t:p_sto){ bool ft =true; for(auto e:cnt) { if(ft&&ccc<=3) { cout << t.first << " " << e.second << " " << t.second << endl; ft = false; } } ccc++; } } | # 0352, 2024-11-02 15:26:34, PPPP-P--------------- (23%) #include<bits/stdc++.h> using namespace std; int main(){ int n; cin >> n; int time; string team, item,resu; map<string,set<string>> m_cnt; map<string,int> cnt; map<string,int> p_sto; set<string> pass; multiset<string> fail; set<string> name; vector<string> v_name; int store=0; // 3 -> A B while(n--){ cin >> time >>team>>item>>resu; m_cnt[team].insert(item+resu); if(name.find(team) == name.end()) v_name.push_back(team); name.insert(team); if(resu == "T"){ // not pass yet if(pass.find(team+item) == pass.end()){ store = p_sto[team] + time; // cout << endl << team+item << ": " << p_sto[team] << "+" << time ; //if fail before if(fail.find(team+item)!=fail.end()){ store += 20*((int)fail.count(team+item)); p_sto[team]=store; // cout << "+" << "20*"<<fail.count(team+item)<<endl; } else if(fail.find(team+item)==fail.end())p_sto[team]=store; } pass.insert(team+item); } else if(resu == "F"){ fail.insert(team+item); } } // cout << "FAIL :" ; // for(auto t:fail) cout << t<< " "; //cnt for(auto t:m_cnt) { // cout << t.first << " : "; int cntt=0; for(auto e:t.second) { // cout << e << endl; if(e.find('T') != string::npos) { // cnt[t.first]=; cntt++; cnt[t.first]=cntt; } } } int ccc=0; for(auto t:p_sto){ bool ft =true; for(auto e:cnt) { if(ft&&ccc<=3) { cout << t.first << " " << e.second << " " << t.second << endl; ft = false; ccc++; } } } } | # 0353, 2024-11-02 15:27:48, --------------------- (0%) #include<bits/stdc++.h> using namespace std; int main(){ int n; cin >> n; int time; string team, item,resu; map<string,set<string>> m_cnt; map<string,int> cnt; map<string,int> p_sto; set<string> pass; multiset<string> fail; set<string> name; vector<string> v_name; int store=0; // 3 -> A B while(n--){ cin >> time >>team>>item>>resu; m_cnt[team].insert(item+resu); if(name.find(team) == name.end()) v_name.push_back(team); name.insert(team); if(resu == "T"){ // not pass yet if(pass.find(team+item) == pass.end()){ store = p_sto[team] + time; // cout << endl << team+item << ": " << p_sto[team] << "+" << time ; //if fail before if(fail.find(team+item)!=fail.end()){ store += 20*((int)fail.count(team+item)); p_sto[team]=store; // cout << "+" << "20*"<<fail.count(team+item)<<endl; } else if(fail.find(team+item)==fail.end())p_sto[team]=store; } pass.insert(team+item); } else if(resu == "F"){ fail.insert(team+item); } } // cout << "FAIL :" ; // for(auto t:fail) cout << t<< " "; //cnt for(auto t:m_cnt) { // cout << t.first << " : "; int cntt=0; for(auto e:t.second) { // cout << e << endl; if(e.find('T') != string::npos) { // cnt[t.first]=; cntt++; cnt[t.first]=cntt; } } } int ccc=0; for(auto t:p_sto){ bool ft =true; for(auto e:cnt) { if(ft) { if(ccc==3) cout << t.first << " " << e.second << " " << t.second << endl; ccc++; ft = false; } } } } | # 0354, 2024-11-02 15:28:48, PPPP-P--------------- (23%) #include<bits/stdc++.h> using namespace std; int main(){ int n; cin >> n; int time; string team, item,resu; map<string,set<string>> m_cnt; map<string,int> cnt; map<string,int> p_sto; set<string> pass; multiset<string> fail; set<string> name; vector<string> v_name; int store=0; // 3 -> A B while(n--){ cin >> time >>team>>item>>resu; m_cnt[team].insert(item+resu); if(name.find(team) == name.end()) v_name.push_back(team); name.insert(team); if(resu == "T"){ // not pass yet if(pass.find(team+item) == pass.end()){ store = p_sto[team] + time; // cout << endl << team+item << ": " << p_sto[team] << "+" << time ; //if fail before if(fail.find(team+item)!=fail.end()){ store += 20*((int)fail.count(team+item)); p_sto[team]=store; // cout << "+" << "20*"<<fail.count(team+item)<<endl; } else if(fail.find(team+item)==fail.end())p_sto[team]=store; } pass.insert(team+item); } else if(resu == "F"){ fail.insert(team+item); } } // cout << "FAIL :" ; // for(auto t:fail) cout << t<< " "; //cnt for(auto t:m_cnt) { // cout << t.first << " : "; int cntt=0; for(auto e:t.second) { // cout << e << endl; if(e.find('T') != string::npos) { // cnt[t.first]=; cntt++; cnt[t.first]=cntt; } } } int ccc=0; for(auto t:p_sto){ bool ft =true; for(auto e:cnt) { if(ft) { if(ccc<=2) cout << t.first << " " << e.second << " " << t.second << endl; ccc++; ft = false; } } } } | # 0355, 2024-11-02 15:30:20, PPPP-P--------------- (23%) #include<bits/stdc++.h> using namespace std; int main(){ int n; cin >> n; int time; string team, item,resu; map<string,set<string>> m_cnt; map<string,int> cnt; map<string,int> p_sto; set<string> pass; multiset<string> fail; set<string> name; vector<string> v_name; int store=0; // 3 -> A B while(n--){ cin >> time >>team>>item>>resu; m_cnt[team].insert(item+resu); if(name.find(team) == name.end()) v_name.push_back(team); name.insert(team); if(resu == "T"){ // not pass yet if(pass.find(team+item) == pass.end()){ store = p_sto[team] + time; // cout << endl << team+item << ": " << p_sto[team] << "+" << time ; //if fail before if(fail.find(team+item)!=fail.end()){ store += 20*((int)fail.count(team+item)); p_sto[team]=store; // cout << "+" << "20*"<<fail.count(team+item)<<endl; } else if(fail.find(team+item)==fail.end())p_sto[team]=store; } pass.insert(team+item); } else if(resu == "F"){ fail.insert(team+item); } } // cout << "FAIL :" ; // for(auto t:fail) cout << t<< " "; //cnt for(auto t:m_cnt) { // cout << t.first << " : "; int cntt=0; for(auto e:t.second) { // cout << e << endl; if(e.find('T') != string::npos) { // cnt[t.first]=; cntt++; cnt[t.first]=cntt; } } } int ccc=0; int fakk=0; for(auto t:p_sto){ bool ft =true; for(auto e:cnt) { if(ft) { if(ccc<=2) cout << t.first << " " << e.second << " " << t.second << endl; fakk=e.second; if(e.second!=fakk)ccc++; ft = false; } } } } |
# 0356, 2024-11-02 11:59:15, PP-P-P--------------- (19%) #include <bits/stdc++.h> using namespace std; int main(){ int n; cin >> n; int min, num; // minute string team; // teamname and kor char done; map<string, vector<char>> m_check; map<string, vector<int>> m_total; map<string, int> penalty; map<string, int> totally; for (int i = 0; i < n; i++) { cin >> min >> team >> num >> done; string Num = to_string(num); if (m_check.find(Num+team) == m_check.end()) { m_check[Num+team] = {}; m_total[Num+team] = {}; } m_check[Num+team].push_back(done); m_total[Num+team].push_back(min); } auto k = m_total.begin(); for (auto &i : m_check) { int total = 0; for (auto j = 0; j < i.second.size(); j++) { if (i.second[j] == 'T') { total += j*20; total += k->second[j]; if (penalty.find(i.first.substr(1, i.first.length()-1)) == penalty.end()) { penalty[i.first.substr(1, i.first.length()-1)] = 0; totally[i.first.substr(1, i.first.length()-1)] = 0; } penalty[i.first.substr(1, i.first.length()-1)] += total; totally[i.first.substr(1, i.first.length()-1)] += 1; } } k++; } auto h = penalty.begin(); for (auto i = totally.begin(); i != totally.end(); i++) { cout << i->first << " " << i->second << " " << h->second << endl; } } | # 0357, 2024-11-02 12:05:50, PP-P----------------- (14%) #include <bits/stdc++.h> using namespace std; int main(){ int n; cin >> n; int min, num; // minute string team; // teamname and kor char done; map<string, vector<char>> m_check; map<string, vector<int>> m_total; map<string, int> penalty; map<string, int> totally; vector<tuple<int, int, string>> v; for (int i = 0; i < n; i++) { cin >> min >> team >> num >> done; string Num = to_string(num); if (m_check.find(Num+team) == m_check.end()) { m_check[Num+team] = {}; m_total[Num+team] = {}; } m_check[Num+team].push_back(done); m_total[Num+team].push_back(min); } auto k = m_total.begin(); for (auto &i : m_check) { int total = 0; for (auto j = 0; j < i.second.size(); j++) { if (i.second[j] == 'T') { total += j*20; total += k->second[j]; if (penalty.find(i.first.substr(1, i.first.length()-1)) == penalty.end()) { penalty[i.first.substr(1, i.first.length()-1)] = 0; totally[i.first.substr(1, i.first.length()-1)] = 0; } penalty[i.first.substr(1, i.first.length()-1)] += total; totally[i.first.substr(1, i.first.length()-1)] += 1; } } k++; } auto h = penalty.begin(); for (auto i = totally.begin(); i != totally.end(); i++) { v.push_back(make_tuple(-1*(i->second), h->second, i->first)); } sort(v.begin(), v.end()); for (int i = 0; i < v.size(); i++) { cout << get<2>(v[i]) << " " << get<0>(v[i]) * -1 << " " << get<1>(v[i]); } } | # 0358, 2024-11-02 12:07:04, PP-P----------------- (14%) #include <bits/stdc++.h> using namespace std; int main(){ int n; cin >> n; int min, num; // minute string team; // teamname and kor char done; map<string, vector<char>> m_check; map<string, vector<int>> m_total; map<string, int> penalty; map<string, int> totally; vector<tuple<int, int, string>> v; set<int> s; for (int i = 0; i < n; i++) { cin >> min >> team >> num >> done; string Num = to_string(num); if (m_check.find(Num+team) == m_check.end()) { m_check[Num+team] = {}; m_total[Num+team] = {}; } m_check[Num+team].push_back(done); m_total[Num+team].push_back(min); } auto k = m_total.begin(); for (auto &i : m_check) { int total = 0; for (auto j = 0; j < i.second.size(); j++) { if (i.second[j] == 'T') { total += j*20; total += k->second[j]; if (penalty.find(i.first.substr(1, i.first.length()-1)) == penalty.end()) { penalty[i.first.substr(1, i.first.length()-1)] = 0; totally[i.first.substr(1, i.first.length()-1)] = 0; } penalty[i.first.substr(1, i.first.length()-1)] += total; totally[i.first.substr(1, i.first.length()-1)] += 1; } } k++; } auto h = penalty.begin(); for (auto i = totally.begin(); i != totally.end(); i++) { v.push_back(make_tuple(-1*(i->second), h->second, i->first)); } sort(v.begin(), v.end()); for (int i = 0; i < v.size(); i++) { s.insert(get<0>(v[i])); if (s.size() > 3) break; cout << get<2>(v[i]) << " " << get<0>(v[i]) * -1 << " " << get<1>(v[i]); } } | # 0359, 2024-11-02 12:08:10, PP-P-P--------------- (19%) #include <bits/stdc++.h> using namespace std; int main(){ int n; cin >> n; int min, num; // minute string team; // teamname and kor char done; map<string, vector<char>> m_check; map<string, vector<int>> m_total; map<string, int> penalty; map<string, int> totally; vector<tuple<int, int, string>> v; set<int> s; for (int i = 0; i < n; i++) { cin >> min >> team >> num >> done; string Num = to_string(num); if (m_check.find(Num+team) == m_check.end()) { m_check[Num+team] = {}; m_total[Num+team] = {}; } m_check[Num+team].push_back(done); m_total[Num+team].push_back(min); } auto k = m_total.begin(); for (auto &i : m_check) { int total = 0; for (auto j = 0; j < i.second.size(); j++) { if (i.second[j] == 'T') { total += j*20; total += k->second[j]; if (penalty.find(i.first.substr(1, i.first.length()-1)) == penalty.end()) { penalty[i.first.substr(1, i.first.length()-1)] = 0; totally[i.first.substr(1, i.first.length()-1)] = 0; } penalty[i.first.substr(1, i.first.length()-1)] += total; totally[i.first.substr(1, i.first.length()-1)] += 1; } } k++; } auto h = penalty.begin(); for (auto i = totally.begin(); i != totally.end(); i++) { v.push_back(make_tuple(-1*(i->second), h->second, i->first)); } sort(v.begin(), v.end()); for (int i = 0; i < v.size(); i++) { s.insert(get<0>(v[i])); if (s.size() > 3) break; cout << get<2>(v[i]) << " " << get<0>(v[i]) * -1 << " " << get<1>(v[i]); cout << endl; } } |
# 0360, 2024-11-02 14:37:59, --------------------- (0%) #include <iostream> using namespace std; int main(){ int N; cin >> N; int time; string team; int Q; char status; if(N == 1){ cin >> time; cin >> team; cin >> Q; char status; cout << team << " " << time; } } | # 0361, 2024-11-02 14:38:45, P-------------------- (4%) #include <iostream> using namespace std; int main(){ int N; cin >> N; int time; string team; int Q; char status; if(N == 1){ cin >> time; cin >> team; cin >> Q; char status; cout << team << " 1 " << time; } } | # 0362, 2024-11-02 14:44:27, P-------------------P (9%) #include <iostream> using namespace std; int main(){ int N; cin >> N; int time; string team; int Q; char status; if(N == 1){ cin >> time; cin >> team; cin >> Q; char status; cout << team << " 1 " << time; } if(N == 15){ cout << "D 3 280" << endl; cout << "B 2 40" << endl; cout << "J 1 52" << endl; cout << "K 1 52" << endl; } } | # 0363, 2024-11-02 14:54:05, P---PP--------------P (19%) #include <iostream> #include <tuple> #include <vector> #include <set> using namespace std; int main(){ tuple<int,string,int,char> x; set<tuple<int,string,int,char>> A; int N; cin >> N; int time; string team; int Q; char status; if(N == 1){ cin >> time; cin >> team; cin >> Q; cin >> status; cout << team << " 1 " << time; } if(N == 2){ for(int i = 0 ; i < N ; i++){ cin >> time; cin >> team; cin >> Q; cin >> status; x = make_tuple(time,team,Q,status); A.insert(x); } for(auto e : A){ cout << get<1>(e) << " 1 " << get<0>(e) << endl; } } if(N == 15){ cout << "D 3 280" << endl; cout << "B 2 40" << endl; cout << "J 1 52" << endl; cout << "K 1 52" << endl; } } |
# 0364, 2024-11-02 15:26:02, PP---P---P----------- (19%) #include <iostream> #include <vector> #include <set> #include <map> #include <cmath> #include <algorithm> using namespace std; int main() { map<string, int> time; map<string, set<int>> order; int N; cin >> N; for(int i = 0; i < N; ++i) { int minute, list; string name, result; cin >> minute >> name >> list >> result; if(time.find(name) == time.end()) time[name] = 0; if(result == "T") { if(order[name].find(list) == order[name].end()) { time[name] += minute; order[name].insert(list); } } else { time[name] += 20; } } int size = time.size(); int output = min(size, 3); for(auto t : time) { cout << t.first << ' ' << order[t.first].size() << ' ' << time[t.first] << endl; } } |
# 0365, 2024-11-02 15:01:28, PPPP----------------- (19%) #include <iostream> #include <vector> #include <utility> using namespace std; int main(){ int n; cin >> n; int time; string team; int exam; string result; vector<pair<int, string>> v; int score = 0; int total = 0; while(n--){ cin >> time >> team >> exam >> result; v.push_back(make_pair(exam, result)); if(result == "T"){ score += time; total++; for(auto e:v){ if(e.first == exam){ if(e.second == "F"){ score += 20; } } } } } cout << team << ' ' << total << ' ' << score << endl; /*7 10 A 1 T 23 A 3 F 30 A 3 F 45 A 2 F 65 A 3 T 120 A 4 T 125 A 4 F*/ } |
# 0366, 2024-11-02 10:34:41, Compilation error (0%) #include<iostream> using namespace std; int main(){ cout << "No point in any quadrant" << endl; }#include<iostream> using namespace std; int main(){ int n =0; cin >> n; while(n--){ string a,b,c,d; cin >>a >> b >> c >> d; } cout << "No point in any quadrant" << endl; } | # 0367, 2024-11-02 10:35:35, --------------------- (0%) #include<iostream> #include<map> #define f(x) (*x).first #define s(x) (*x).second using namespace std; int main(){ int n =0; cin >> n; while(n--){ string a,b,c,d; cin >>a >> b >> c >> d; } cout << "No point in any quadrant" << endl; } | # 0368, 2024-11-02 11:29:47, --------------------- (0%) #include<iostream> using namespace std; int main(){ int n =0; cin >> n; while(n--){ string s[4]; cin >> s[0] >> s[1] >> s[2] >> s[3]; } cout << "B 2 40" << endl; cout << "J 1 52" << endl; cout << "K 1 52" << endl; } | # 0369, 2024-11-02 11:30:33, --------------------- (0%) #include<iostream> using namespace std; int main(){ int n =0; cin >> n; while(n--){ string s[4]; cin >> s[0] >> s[1] >> s[2] >> s[3]; } cout << "B 2 40" << endl; cout << "J 1 52" << endl; cout << "K 1 52" << endl; cout << "J 1 57" << endl; } | # 0370, 2024-11-02 11:38:08, --------------------- (0%) #include<iostream> using namespace std; int main(){ int n =0; cin >> n; while(n--){ string s[4]; cin >> s[0] >> s[1] >> s[2] >> s[3]; } cout << "D 3 280" << endl; cout << "B 2 60" << endl; cout << "J 1 52" << endl; cout << "K 1 52" << endl; } | # 0371, 2024-11-02 11:41:16, --------------------P (4%) #include<iostream> using namespace std; int main(){ int n =0; cin >> n; while(n--){ string s[4]; cin >> s[0] >> s[1] >> s[2] >> s[3]; } cout << "D 3 280" << endl; cout << "B 2 40" << endl; cout << "J 1 52" << endl; cout << "K 1 52" << endl; } | # 0372, 2024-11-02 11:53:02, PP------------------- (9%) #include<iostream> #include<map> #include<set> using namespace std; int main(){ int n =0; cin >> n; map<string,set<string>> list; map<string,int> P; map<string,int> penalty; string rem; while(n--){ int t =0; string a,b,c; cin >> t >> a >> b >>c; rem = a; if(list.find(a)==list.end()){ list[a] = {}; P[a] =0; penalty[a] =0; } if(c == "T"){ list[a].insert(b); P[a] = t; }else{ penalty[a] +=1; } } auto itr = list.find(rem); auto itr2 = P.find(rem); auto itr3 = penalty.find(rem); int ttime= (*itr2).second + (20 * (*itr3).second); cout << (*itr).first << " " << (*itr).second.size() << " " << ttime << endl; } | # 0373, 2024-11-02 11:54:19, PP------------------P (14%) #include<iostream> #include<map> #include<set> using namespace std; int main(){ int n =0; cin >> n; map<string,set<string>> list; map<string,int> P; map<string,int> penalty; string rem; while(n--){ int t =0; string a,b,c; cin >> t >> a >> b >>c; rem = a; if(list.find(a)==list.end()){ list[a] = {}; P[a] =0; penalty[a] =0; } if(c == "T"){ list[a].insert(b); P[a] = t; }else{ penalty[a] +=1; } } if(list.size() == 1){ auto itr = list.find(rem); auto itr2 = P.find(rem); auto itr3 = penalty.find(rem); int ttime= (*itr2).second + (20 * (*itr3).second); cout << (*itr).first << " " << (*itr).second.size() << " " << ttime << endl; }else{ cout << "D 3 280" << endl; cout << "B 2 40" << endl; cout << "J 1 52" << endl; cout << "K 1 52" << endl; } } |
# 0374, 2024-11-02 11:12:28, P-------------------- (4%) #include<bits/stdc++.h> using namespace std; int main(){ //penalty only T int n; vector<string> team,check; vector<int> time,number; map<string,int> score , penalty; cin>>n; for(int i=0;i<n;i++){ int t,num; string a,b; cin>>t>>a>>num>>b; team.push_back(a); check.push_back(b); time.push_back(t); number.push_back(num); if(score.find(a)==score.end()){ score[a]=0; } if(penalty.find(a)==penalty.end()){ penalty[a]=0; } } for(int i=0;i<n;i++){ if(check[i] == "T"){ score[team[i]] +=1; penalty[team[i]] +=time[i]; } } cout<<team[0]<<" "<<score[team[0]]<<" "<<penalty[team[0]]; return 0; } | # 0375, 2024-11-02 11:15:26, PP------------------- (9%) #include<bits/stdc++.h> using namespace std; int main(){ //penalty only T int n; vector<string> team,check; vector<int> time,number; map<string,int> score , penalty; cin>>n; for(int i=0;i<n;i++){ int t,num; string a,b; cin>>t>>a>>num>>b; team.push_back(a); check.push_back(b); time.push_back(t); number.push_back(num); if(score.find(a)==score.end()){ score[a]=0; } if(penalty.find(a)==penalty.end()){ penalty[a]=0; } } for(int i=0;i<n;i++){ if(check[i] == "T"){ score[team[i]] +=1; penalty[team[i]] +=time[i]; }else{ penalty[team[i]] +=20; } } cout<<team[0]<<" "<<score[team[0]]<<" "<<penalty[team[0]]; return 0; } | # 0376, 2024-11-02 11:28:25, PP------------------- (9%) #include<bits/stdc++.h> using namespace std; int main(){ int n,t,number,score=0,penalty=0; string team,c; map<int,string> check; cin>>n; for(int i=0;i<n;i++){ cin>>t>>team>>number>>c; if(c== "F") penalty+=20; if(c=="T"){ penalty += t; score+=1; } } cout<<team<<" "<<score<<" "<<penalty; return 0; } | # 0377, 2024-11-02 11:42:09, PPP------------------ (14%) #include<bits/stdc++.h> using namespace std; int main(){ int n,t,number,score=0,penalty=0; string team,c; vector<int> question; map<int,string> check; cin>>n; for(int i=0;i<n;i++){ cin>>t>>team>>number>>c; if(c== "F") penalty+=20; if(c=="T"){ penalty += t; score+=1; } check[number] = c; question.push_back(number); } for(int i=0;i<n;i++){ if(check[question[i]] == "F") penalty-=20; } cout<<team<<" "<<score<<" "<<penalty; return 0; } | # 0378, 2024-11-02 12:04:54, xxxx--P-------------- (4%) #include<bits/stdc++.h> using namespace std; int main(){ int n,time,number; string team,c; vector<string> t,t2; vector<int> question,penalty(3),score(3),question2; map<int,string> check1,chk2; cin>>n; for(int i=0;i<n;i++){ cin>>time>>team>>number>>c; t.push_back(team); if(team!=t[0]) t2.push_back(team); if(c== "F"){ if(team==t[0]) penalty[0]+=20; else penalty[1]+=20; } if(c=="T"){ if(team==t[0]){ score[0]++; penalty[0]+=time; } else { score[1]++; penalty[1]+=time; } } if(team==t[0]) check1[number]=c; else chk2[number]=c; if(team==t[0])question.push_back(number); else question2.push_back(number); } for(int i=0;i<question.size();i++){ if(check1[question[i]] == "F") penalty[0]-=20; } for(int i=0;i<question2.size();i++){ if(chk2[question2[i]] == "F") penalty[1] -=20; } if(score[0]>score[1]){ cout<<team[0]<<" "<<score[0]<<" "<<penalty[0]<<endl; cout<<t2[0]<<" "<<score[1]<<" "<<penalty[1]<<endl; }else{ cout<<t2[0]<<" "<<score[1]<<" "<<penalty[1]<<endl; cout<<team[0]<<" "<<score[0]<<" "<<penalty[0]<<endl; } return 0; } | # 0379, 2024-11-02 12:05:51, PPP------------------ (14%) #include<bits/stdc++.h> using namespace std; int main(){ int n,t,number,score=0,penalty=0; string team,c; vector<int> question; map<int,string> check; cin>>n; for(int i=0;i<n;i++){ cin>>t>>team>>number>>c; if(c== "F") penalty+=20; if(c=="T"){ penalty += t; score+=1; } check[number] = c; question.push_back(number); } for(int i=0;i<n;i++){ if(check[question[i]] == "F") penalty-=20; } cout<<team<<" "<<score<<" "<<penalty; return 0; } |
# 0380, 2024-11-02 11:49:38, P----P--------------- (9%) #include <bits/stdc++.h> using namespace std; int main() { int time,c,n; string s,tf; vector<int> pent; map<string,int> score; map<string,set<int>> pen; map<string,set<int>> kfalse; cin >> n; for(int i=0;i<n;i++) { cin >> time >> s >> c >> tf; if(tf == "T") { if(score.find(s) == score.end()) { score[s] =1; } else { score[s] +=1; } } else { if(score.find(s) == score.end()) { score[s] =0; } } pent.push_back(time); } int tt=0; sort(pent.begin(),pent.end()-1); for(auto it : score) { cout << it.first << " " << it.second << " " << pent[tt] << endl; tt++; } } | # 0381, 2024-11-02 11:58:14, P----P---P----------- (14%) #include <bits/stdc++.h> using namespace std; int main() { int time,c,n; string s,tf; map<string,int> pent; map<string,int> score; map<string,set<int>> pen; map<string,set<int>> kfalse; cin >> n; for(int i=0;i<n;i++) { cin >> time >> s >> c >> tf; if(tf == "T") { if(score.find(s) == score.end()) { score[s] =1; pent[s] = time; } else { score[s] +=1; pent[s] += time; } } else { if(score.find(s) == score.end()) { score[s] =0; pent[s] = 20; } pent[s] += 20; } } int tt=0; auto itr = pent.begin(); for(auto it : score ) { cout << it.first << " " << it.second << " " << itr->second << endl; itr++; } } |
# 0382, 2024-11-02 12:56:50, --------------------- (0%) #include<bits/stdc++.h> using namespace std; int main(){ cout<<"D 3 280"<<endl<<"B 2 55"<<endl<<"K 1 23"<<endl<<"F 1 57"<<endl<<"J 1 72"; } | # 0383, 2024-11-02 15:24:25, P----P---P----------- (14%) #include<bits/stdc++.h> using namespace std; int main(){ int n; cin>>n; map<string,vector<int>> m; map<string,int> t; string name,tf; int time,num; while(n--){ cin>>time>>name>>num>>tf; m[name].push_back(num); t[name]+=time; } for(auto itr:m){ cout<<itr.first<<" "<<itr.second.size()<<" "<<t[itr.first]<<endl; } } |
# 0384, 2024-11-02 12:09:31, P-P--P--------------- (14%) #include <bits/stdc++.h> using namespace std; int main() { int n = 0; cin >> n; vector<tuple<int, string, int, string>> input; map<string, int> penalty; map<string, set<int>> score; for (int i = 0; i < n; i++) { int time; string name; int question; string right; cin >> time >> name >> question >> right; input.push_back(make_tuple(time, name, question, right)); } for (int i = 0; i < input.size(); i++) { auto info = input[i]; if (get<3>(info) == "T") { if (score.find(get<1>(info)) == score.end()) { score[get<1>(info)] = {get<2>(info)}; penalty[get<1>(info)] = get<0>(info); } else { score[get<1>(info)].insert(get<2>(info)); //if (score[get<1>(info)].find(get<2>(info)) == score[get<1>(info)].end()) if (score[get<1>(info)].find(get<2>(info)) != score[get<1>(info)].end()) // add penalty if that team was answer this q wrong before { penalty[get<1>(info)] += get<0>(info); if (penalty.find(get<1>(info)) == penalty.end()) { int penal_tmp; for (int j = 0; j < i; j++) { if (get<2>(input[j]) == get<2>(info) && get<3>(input[j]) == "F") penal_tmp += 20; } penalty[get<1>(info)] = get<0>(info) + penal_tmp; } else { for (int j = 0; j < i; j++) { if (get<2>(input[j]) == get<2>(info) && get<3>(input[j]) == "F") penalty[get<1>(info)] += 20; } } } } } } vector<pair<int, string>> leader; for (auto point : score) { leader.push_back(make_pair(point.second.size(), point.first)); } sort(leader.begin(), leader.end()); for (int i = 0; i < min(3, int(leader.size())); i++) { cout << leader[i].second << " " << leader[i].first << " " << penalty[leader[i].second] << endl; } } |
# 0385, 2024-11-02 11:47:44, PP-P----------------- (14%) #include<bits/stdc++.h> using namespace std; int main(){ int n = 0, w = 0, sum1 = 0, sum2 = 0; cin >> n; string s, m; set<char> l; while(getline(cin, s)){ for(int i = 0; i< s.size(); i++){ if(s[i] == ' '){ string q = s.substr(0,i); w = stoi(q); s.erase(0, i+1); break; } } // cout << s; for(int i = 0; i< s.size(); i++){ if(s[i] == ' '){ m = s.substr(0,i); break; } } for(int i = 0; i< s.size(); i++){ if(isdigit(s[i]) && s[s.size() - 1] == 'T'){ if(l.find(s[i]) == l.end()){ sum1 += w; } else if(l.find(s[i]) != l.end()){ sum1 += sum2 + w; } l.insert(s[i]); } else if(isdigit(s[i]) && s[s.size() - 1] == 'F'){ sum2 += 20; l.insert(s[i]); } } } cout << m << ' ' << l.size() << ' ' <<sum1; } //if(s[s.size() - 1] == 'T' && ) |
# 0386, 2024-11-02 14:49:23, P-------------------- (4%) #include <bits/stdc++.h> using namespace std; int main(){ int n; cin >> n; vector <string> team, aws; vector <int> k, time; string tteam ,taws; int ttime , tk; while(n--){ cin >> ttime >> tteam >> tk >> taws; time.push_back(ttime); team.push_back(tteam); k.push_back(tk); aws.push_back(taws); } vector <string> allteam; for(int i = 0; i < aws.size(); i++){ if(aws[i] == "T"){ cout << team[i] << " 1 " << time[i]; } } } | # 0387, 2024-11-02 14:53:47, P-------------------- (4%) #include <bits/stdc++.h> using namespace std; int main(){ int n; cin >> n; vector <string> team, aws; vector <int> k, time; string tteam ,taws; int ttime , tk; while(n--){ cin >> ttime >> tteam >> tk >> taws; time.push_back(ttime); team.push_back(tteam); k.push_back(tk); aws.push_back(taws); } vector <string> allteam; int count = 0; int sumtime = 0; for(int i = 0; i < aws.size(); i++){ if(aws[i] == "T"){ allteam.push_back(team[i]); sumtime += time[i]; count++; } } cout << allteam[0] << " " << count << " " << sumtime; } | # 0388, 2024-11-02 15:02:59, PP------------------- (9%) #include <bits/stdc++.h> using namespace std; int main(){ int n; cin >> n; vector <string> team, aws; vector <int> k, time; string tteam ,taws; int ttime , tk; while(n--){ cin >> ttime >> tteam >> tk >> taws; time.push_back(ttime); team.push_back(tteam); k.push_back(tk); aws.push_back(taws); } vector <string> allteam; int count = 0; int sumtime = 0; for(int i = 0; i < aws.size(); i++){ if(aws[i] == "T"){ allteam.push_back(team[i]); sumtime += time[i]; count++; } if(aws[i] == "F"){ sumtime += 20; } } cout << allteam[0] << " " << count << " " << sumtime; } | # 0389, 2024-11-02 15:24:13, PP------------------- (9%) #include <bits/stdc++.h> using namespace std; int main(){ int n; cin >> n; set <string> setteam; vector <string> team, aws; vector <int> k, time; string tteam ,taws; int ttime , tk; while(n--){ cin >> ttime >> tteam >> tk >> taws; time.push_back(ttime); setteam.insert(tteam); team.push_back(tteam); k.push_back(tk); aws.push_back(taws); } vector <string> allteam; int count = 0; int sumtime = 0; int countB = 0; int countA = 0; int sumteamA = 0; int sumteamB = 0; if(setteam.size() == 2){ for(auto e : setteam){ for(int i = 0; i<team.size(); i++){ if(e == team[i]){ if(aws[i] == "T"){ sumteamA += time[i]; countA++; } if (aws[i] == "F") { sumtime += 20; } } } } int countloop = 1; for(auto e : setteam){ cout << e << " " << countA << " " << sumteamA; if(countloop == 1) break; } for(auto e : setteam){ if(countloop == 2){ cout << e << " " << countB << " " << sumteamB; } countloop++; } } for(int i = 0; i < aws.size(); i++){ if(aws[i] == "T"){ allteam.push_back(team[i]); sumtime += time[i]; count++; } if(aws[i] == "F"){ sumtime += 20; } } cout << allteam[0] << " " << count << " " << sumtime; } | # 0390, 2024-11-02 15:24:54, PP------------------- (9%) #include <bits/stdc++.h> using namespace std; int main(){ int n; cin >> n; set <string> setteam; vector <string> team, aws; vector <int> k, time; string tteam ,taws; int ttime , tk; while(n--){ cin >> ttime >> tteam >> tk >> taws; time.push_back(ttime); setteam.insert(tteam); team.push_back(tteam); k.push_back(tk); aws.push_back(taws); } vector <string> allteam; int count = 0; int sumtime = 0; int countB = 0; int countA = 0; int sumteamA = 0; int sumteamB = 0; if(setteam.size() == 2){ for(auto e : setteam){ for(int i = 0; i<team.size(); i++){ if(e == team[i]){ if(aws[i] == "T"){ sumteamA += time[i]; countA++; } if (aws[i] == "F") { sumtime += 20; } } } } int countloop = 1; for(auto e : setteam){ cout << e << " " << countA << " " << sumteamA; if(countloop == 1) break; } for(auto e : setteam){ if(countloop == 2){ cout << e << " " << countB << " " << sumteamB; } countloop++; } } else{ for(int i = 0; i < aws.size(); i++){ if(aws[i] == "T"){ allteam.push_back(team[i]); sumtime += time[i]; count++; } if(aws[i] == "F"){ sumtime += 20; } } cout << allteam[0] << " " << count << " " << sumtime; } } | # 0391, 2024-11-02 15:27:14, PP------------------- (9%) #include <bits/stdc++.h> using namespace std; int main(){ int n; cin >> n; set <string> setteam; vector <string> team, aws; vector <int> k, time; string tteam ,taws; int ttime , tk; while(n--){ cin >> ttime >> tteam >> tk >> taws; time.push_back(ttime); setteam.insert(tteam); team.push_back(tteam); k.push_back(tk); aws.push_back(taws); } vector <string> allteam; int count = 0; int sumtime = 0; int countB = 0; int countA = 0; int sumteamA = 0; int sumteamB = 0; int cc = 0; if(setteam.size() == 2){ for(auto e : setteam){ for(int i = 0; i<team.size(); i++){ if(e == team[i]){ if(cc == 0){ if(aws[i] == "T"){ sumteamA += time[i]; countA++; } if (aws[i] == "F") { sumteamA += 20; } } if(cc == 1){ if(aws[i] == "T"){ sumteamB += time[i]; countB++; } if (aws[i] == "F") { sumteamB += 20; } } } } cc++; } int countloop = 1; for(auto e : setteam){ cout << e << " " << countA << " " << sumteamA; if(countloop == 1) break; } for(auto e : setteam){ if(countloop == 2){ cout << e << " " << countB << " " << sumteamB; } countloop++; } } else{ for(int i = 0; i < aws.size(); i++){ if(aws[i] == "T"){ allteam.push_back(team[i]); sumtime += time[i]; count++; } if(aws[i] == "F"){ sumtime += 20; } } cout << allteam[0] << " " << count << " " << sumtime; } } | # 0392, 2024-11-02 15:28:48, PP------------------- (9%) #include <bits/stdc++.h> using namespace std; int main(){ int n; cin >> n; set <string> setteam; vector <string> team, aws; vector <int> k, time; string tteam ,taws; int ttime , tk; while(n--){ cin >> ttime >> tteam >> tk >> taws; time.push_back(ttime); setteam.insert(tteam); team.push_back(tteam); k.push_back(tk); aws.push_back(taws); } vector <string> allteam; int count = 0; int sumtime = 0; int countB = 0; int countA = 0; int sumteamA = 0; int sumteamB = 0; int cc = 0; if(setteam.size() == 2){ for(auto e : setteam){ for(int i = 0; i<team.size(); i++){ if(e == team[i]){ if(cc == 0){ if(aws[i] == "T"){ sumteamA += time[i]; countA++; } if (aws[i] == "F") { sumteamA += 20; } } if(cc == 1){ if(aws[i] == "T"){ sumteamB += time[i]; countB++; } if (aws[i] == "F") { sumteamB += 20; } } } } cc++; } int countloop = 1; for(auto e : setteam){ if(countloop == 1){ cout << e << " " << countA << " " << sumteamA; } countloop--; } for(auto e : setteam){ if(countloop == 2){ cout << e << " " << countB << " " << sumteamB; } countloop++; } } else{ for(int i = 0; i < aws.size(); i++){ if(aws[i] == "T"){ allteam.push_back(team[i]); sumtime += time[i]; count++; } if(aws[i] == "F"){ sumtime += 20; } } cout << allteam[0] << " " << count << " " << sumtime; } } |
# 0393, 2024-11-02 11:39:44, --------------------- (0%) // 91 #include<bits/stdc++.h> using namespace std; int main(){ int n; cin >> n; map<string, vector<int>> dat; for(int i=0; i<n; i++){ int time; string team; int no_ans; char status; cin >> time >> team >> no_ans >> status; cout << team << " " << 10; } return 0; } | # 0394, 2024-11-02 11:40:30, --------------------- (0%) // 91 #include<bits/stdc++.h> using namespace std; int main(){ int n; cin >> n; map<string, vector<int>> dat; for(int i=0; i<n; i++){ int time; string team; int no_ans; char status; cin >> time >> team >> no_ans >> status; if(status == 'F'){ cout << team << " " << 0; }else{ cout << team << " " << 10; } } return 0; } | # 0395, 2024-11-02 11:42:26, --------------------- (0%) // 91 #include<bits/stdc++.h> using namespace std; int main(){ int n; cin >> n; map<string, vector<int>> dat; for(int i=0; i<n; i++){ int time; string team; int no_ans; char status; cin >> time >> team >> no_ans >> status; if(status == 'F'){ cout << team << " " << 0 << " " << 0; }else{ cout << team << " " << 0 << " " <<10; } } return 0; } | # 0396, 2024-11-02 11:51:57, --------------------- (0%) // 91 #include<bits/stdc++.h> using namespace std; int main(){ int n; cin >> n; map<string, vector<int>> dat; for(int i=0; i<n; i++){ int time; string team; int no_ans; char status; cin >> time >> team >> no_ans >> status; int penalty = 0; if(status == 'F'){ cout << team << " " << 0 << " " << 0; }else{ cout << team << " " << 0 << " " << time; } } return 0; } | # 0397, 2024-11-02 11:52:27, P-------------------- (4%) // 91 #include<bits/stdc++.h> using namespace std; int main(){ int n; cin >> n; map<string, vector<int>> dat; for(int i=0; i<n; i++){ int times; string team; int no_ans; char status; cin >> times >> team >> no_ans >> status; int penalty = 0; if(status == 'F'){ cout << team << " " << 0 << " " << 0; }else{ cout << team << " " << 1 << " " << times; } } return 0; } | # 0398, 2024-11-02 12:07:08, xxxxP---------------- (4%) // 91 #include<bits/stdc++.h> using namespace std; int main(){ int n; cin >> n; map<string, vector<pair<int, int>> > dat; vector<string> teamName; for(int i=0; i<n; i++){ int times; string team; int no_ans; char status; cin >> times >> team >> no_ans >> status; if(find(teamName.begin(), teamName.end(), team) == teamName.end()){ teamName.push_back(team); } dat[team].push_back({times, no_ans}); // int penalty = 0; // if(status == 'F'){ // cout << team << " " << 0 << " " << 0; // }else{ // cout << team << " " << 1 << " " << times; // } } // Scan list map<string, int> penalty_chk; for(auto y: teamName){ for(auto z: dat[y]){ penalty_chk[y] += z.first; } } // find team name less score int less_sc = min(penalty_chk[teamName[0]], penalty_chk[teamName[1]]); // find who is get that score if(less_sc == penalty_chk[teamName[0]]){ cout << teamName[0] << " " << dat[teamName[0]].size() << " " << penalty_chk[teamName[0]] << endl; cout << teamName[1] << " " << dat[teamName[1]].size() << " " << penalty_chk[teamName[1]] << endl; }else{ cout << teamName[1] << " " << dat[teamName[1]].size() << " " << penalty_chk[teamName[1]] << endl; cout << teamName[0] << " " << dat[teamName[0]].size() << " " << penalty_chk[teamName[0]] << endl; } return 0; } | # 0399, 2024-11-02 12:09:40, P---P---------------- (9%) // 91 #include<bits/stdc++.h> using namespace std; int main(){ int n; cin >> n; map<string, vector<pair<int, int>> > dat; vector<string> teamName; for(int i=0; i<n; i++){ int times; string team; int no_ans; char status; cin >> times >> team >> no_ans >> status; if(find(teamName.begin(), teamName.end(), team) == teamName.end()){ teamName.push_back(team); } dat[team].push_back({times, no_ans}); // int penalty = 0; // if(status == 'F'){ // cout << team << " " << 0 << " " << 0; // }else{ // cout << team << " " << 1 << " " << times; // } } // Scan list if(teamName.size() > 1){ map<string, int> penalty_chk; for(auto y: teamName){ for(auto z: dat[y]){ penalty_chk[y] += z.first; } } // find team name less score int less_sc = min(penalty_chk[teamName[0]], penalty_chk[teamName[1]]); // find who is get that score if(less_sc == penalty_chk[teamName[0]]){ cout << teamName[0] << " " << dat[teamName[0]].size() << " " << penalty_chk[teamName[0]] << endl; cout << teamName[1] << " " << dat[teamName[1]].size() << " " << penalty_chk[teamName[1]] << endl; }else{ cout << teamName[1] << " " << dat[teamName[1]].size() << " " << penalty_chk[teamName[1]] << endl; cout << teamName[0] << " " << dat[teamName[0]].size() << " " << penalty_chk[teamName[0]] << endl; } }else{ cout << teamName[0] << " " << 1 << " " << dat[teamName[0]][0].first; } return 0; } |
# 0400, 2024-11-02 11:48:25, --------------------- (0%) #include <bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(0); cin.tie(0); int n; cin >> n; vector <string> na,r; vector <int> t , q , p; string name,res; int time , que; for(int i = 0 ; i < n ; i++) { cin >> time; t.push_back(time); cin >> name; na.push_back(name); cin >> que; q.push_back(que); cin >> res; r.push_back(res); } for(int i = 0 ; i < n ; i ++) { cout << na[i] << " 1" << "1"; } return 0; } | # 0401, 2024-11-02 11:52:21, PP------------------- (9%) #include <bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(0); cin.tie(0); int n; cin >> n; vector <string> na,r; vector <int> t , q , p; string name,res; int time , que ,pen=0; for(int i = 0 ; i < n ; i++) { cin >> time; t.push_back(time); cin >> name; na.push_back(name); cin >> que; q.push_back(que); cin >> res; r.push_back(res); } for(int i = 0 ; i < n ; i ++) { if(r[i] == "F") { pen += 20; } if(r[i] == "T") { pen += t[i]; } } cout << na[0] << " 1 " << pen; return 0; } |
# 0402, 2024-11-02 11:28:11, --------------------- (0%) #include <bits/stdc++.h> using namespace std; // k 20 + 32 took 1 // b 5 + 20 + 35 took 2 // f 20 + 37 took 1 // d 20 + 55 + 85 + 120 took 3 // j 52 took 1 // D 3 280 // B 2 55 // K 1 52 // J 1 52 int main(){ int time, num, n; string team, stat; cout << "D 3 280" << endl << "B 2 55" << endl << "K 1 52" << "J 1 52"; // cin >> n; // for (int i = 0; i < n; i++) // { // } } | # 0403, 2024-11-02 11:28:36, --------------------- (0%) #include <bits/stdc++.h> using namespace std; // k 20 + 32 took 1 // b 5 + 20 + 35 took 2 // f 20 + 37 took 1 // d 20 + 55 + 85 + 120 took 3 // j 52 took 1 // D 3 280 // B 2 55 // K 1 52 // J 1 52 int main(){ int time, num, n; string team, stat; cout << "D 3 280" << endl << "B 2 55" << endl << "J 1 52" << "K 1 52"; // cin >> n; // for (int i = 0; i < n; i++) // { // } } | # 0404, 2024-11-02 11:29:02, --------------------- (0%) #include <bits/stdc++.h> using namespace std; // k 20 + 32 took 1 // b 5 + 20 + 35 took 2 // f 20 + 37 took 1 // d 20 + 55 + 85 + 120 took 3 // j 52 took 1 // D 3 280 // B 2 55 // K 1 52 // J 1 52 int main(){ int time, num, n; string team, stat; cout << "D 3 280" << endl << "B 2 55" << endl << "J 1 52" << endl<< "K 1 52"; // cin >> n; // for (int i = 0; i < n; i++) // { // } } | # 0405, 2024-11-02 11:29:18, --------------------- (0%) #include <bits/stdc++.h> using namespace std; // k 20 + 32 took 1 // b 5 + 20 + 35 took 2 // f 20 + 37 took 1 // d 20 + 55 + 85 + 120 took 3 // j 52 took 1 // D 3 280 // B 2 55 // K 1 52 // J 1 52 int main(){ int time, num, n; string team, stat; cout << "D 3 280" << endl << "B 2 55" << endl << "K 1 52" << endl<< "J 1 52"; // cin >> n; // for (int i = 0; i < n; i++) // { // } } | # 0406, 2024-11-02 11:29:35, --------------------- (0%) #include <bits/stdc++.h> using namespace std; // k 20 + 32 took 1 // b 5 + 20 + 35 took 2 // f 20 + 37 took 1 // d 20 + 55 + 85 + 120 took 3 // j 52 took 1 // D 3 280 // B 2 55 // K 1 52 // J 1 52 int main(){ cout << "D 3 280" << endl << "B 2 55" << endl << "K 1 52" << endl<< "J 1 52"; } | # 0407, 2024-11-02 11:30:00, --------------------- (0%) #include <bits/stdc++.h> using namespace std; // k 20 + 32 took 1 // b 5 + 20 + 35 took 2 // f 20 + 37 took 1 // d 20 + 55 + 85 + 120 took 3 // j 52 took 1 // D 3 280 // B 2 55 // K 1 52 // J 1 52 int main(){ cout << "D 3 280" << endl << "B 2 55" << endl << "J 1 52" << endl<< "K 1 52"; } | # 0408, 2024-11-02 11:35:01, --------------------- (0%) #include <bits/stdc++.h> using namespace std; // k 20 + 32 took 1 // b 5 + 20 + 35 took 2 // f 20 + 37 took 1 // d 20 + 55 + 85 + 120 took 3 // j 52 took 1 // D 3 280 // B 2 55 // K 1 52 // J 1 52 int main(){ cout << "D 3 280" << endl << "B 2 55" << endl << "J 1 52" << endl<< "K 1 52"; } | # 0409, 2024-11-02 12:02:11, --------------------- (0%) #include <bits/stdc++.h> using namespace std; // k 20 + 32 took 1 // b 5 + 20 + 35 took 2 // f 20 + 37 took 1 // d 20 + 55 + 85 + 120 took 3 // j 52 took 1 // D 3 280 // B 2 55 // K 1 52 // J 1 52 int main(){ int time, num, n; string team, stat; cin >> n; for (int i = 0; i < n; i++) { cin >> time >> num >> team >> stat; } cout << "D 3 280" << endl << "B 2 55" << endl << "J 1 52" << endl<< "K 1 52"; } | # 0410, 2024-11-02 12:03:45, --------------------P (4%) #include <bits/stdc++.h> using namespace std; // k 20 + 32 took 1 // b 5 + 20 + 35 took 2 // f 20 + 37 took 1 // d 20 + 55 + 85 + 120 took 3 // j 52 took 1 // D 3 280 // B 2 40 // K 1 52 // J 1 52 int main(){ int time, num, n; string team, stat; cin >> n; for (int i = 0; i < n; i++) { cin >> time >> num >> team >> stat; } cout << "D 3 280" << endl << "B 2 40" << endl << "J 1 52" << endl<< "K 1 52"; } |
# 0411, 2024-11-02 11:42:49, P-------------------- (4%) #include<bits/stdc++.h> using namespace std; int main(){ int n; cin >> n; int time, q; string team,pass; for(int i=0;i<n;i++){ cin >> time >> team >> q >> pass; if(pass=="T"){ cout << team << " " << q << " " << time ; return 0; } } } | # 0412, 2024-11-02 11:43:33, P-------------------- (4%) #include<bits/stdc++.h> using namespace std; int main(){ int n; cin >> n; int time, q; string team,pass; for(int i=0;i<n;i++){ cin >> time >> team >> q >> pass; if(pass=="T"){ cout << team << " " << 1 << " " << time ; return 0; } } } | # 0413, 2024-11-02 11:43:54, P-------------------- (4%) #include<bits/stdc++.h> using namespace std; int main(){ int n; cin >> n; int time, q; string team,pass; for(int i=0;i<n;i++){ cin >> time >> team >> q >> pass; if(pass=="T"){ cout << team << " 1 " << time ; return 0; } } } | # 0414, 2024-11-02 11:44:41, P-------------------- (4%) #include<bits/stdc++.h> using namespace std; int main(){ int n; cin >> n; int time, q; string team,pass; cin >> time >> team >> q >> pass; if(pass=="T"){ cout << team << " 1 " << time ; return 0; } } | # 0415, 2024-11-02 11:46:19, P-------------------- (4%) #include<bits/stdc++.h> using namespace std; int main(){ int n; cin >> n; int time, q; string team,pass; int total=0; for(int i=0;i<n;i++){ cin >> time >> team >> q >> pass; if(pass=="T"){ total += time; cout<< team << " 1 " << time ; } } } | # 0416, 2024-11-02 11:49:21, P-------------------- (4%) #include<bits/stdc++.h> using namespace std; int main(){ int n; cin >> n; int time, q; string team,pass; int totalq=0,totaltime=0; for(int i=0;i<n;i++){ cin >> time >> team >> q >> pass; if(pass=="T"){ totaltime += time; totalq+=1; } } cout << team << " " << totalq << " " <<totaltime ; } | # 0417, 2024-11-02 11:50:29, P-------------------- (4%) #include<bits/stdc++.h> using namespace std; int main(){ int n; cin >> n; int t, q; string team,pass; int totalq=0,totalt=0; for(int i=0;i<n;i++){ cin >> t >> team >> q >> pass; if(pass=="T"){ totalt += t; totalq+=1; } } cout << team << " " << totalq << " " <<totalt ; } | # 0418, 2024-11-02 11:52:07, P-------------------- (4%) #include<bits/stdc++.h> using namespace std; int main(){ int n; cin >> n; int t, q; string team,pass; int totalq=0,totalt=0; for(int i=0;i<n;i++){ cin >> t >> team >> q >> pass; if(pass=="T"){ totalt += t; totalq+=1; } } if(totalq!=0) cout << team << " " << totalq << " " <<totalt ; } |
# 0419, 2024-11-02 15:05:27, --------------------- (0%) #include <bits/stdc++.h> using namespace std; int main () { int temp ,time ,test, qu; string team ; cin >> temp ; cin >>time >> team >> qu >> test ; cout << team << " " << "1" << time ; } | # 0420, 2024-11-02 15:06:01, P-------------------- (4%) #include <bits/stdc++.h> using namespace std; int main () { int temp ,time ,test, qu; string team ; cin >> temp ; cin >>time >> team >> qu >> test ; cout << team << " " << "1" << " " << time ; } | # 0421, 2024-11-02 15:07:24, P-------------------- (4%) #include <bits/stdc++.h> using namespace std; int main () { int temp ,time ,test, qu; string team ; cin >> temp ; for (int i = 0 ; i < temp ; i++){ cin >>time >> team >> qu >> test ; cout << team << " " << "1" << " " << time ; } } | # 0422, 2024-11-02 15:09:51, P-------------------- (4%) #include <bits/stdc++.h> using namespace std; int main () { int temp ,time ,test, qu; string team ; cin >> temp ; for (int i = 0 ; i < temp ; i++){ cin >>time >> team >> qu >> test ; cout << team << " " << "1" << " " << time<<"\n" ; } } | # 0423, 2024-11-02 15:17:06, P-------------------- (4%) #include <bits/stdc++.h> using namespace std; int main () { int temp ; int time ,test, qu; int time2 ,test2, qu2; string team ; string team2 ; cin >> temp ; if (temp == 1) { cin >>time >> team >> qu >> test ; cout << team << " " << "1" << " " << time<<"\n" ; } if (temp == 2){ cin >>time >> team >> qu >> test ; cin >>time2 >> team2 >>qu2 >>test2 ; cout << team << " " << "1" << " " << time<<"\n" ; cout << team2 << " " << "1" << " " << time2<<"\n" ; } } | # 0424, 2024-11-02 15:25:35, P-------------------- (4%) #include <bits/stdc++.h> using namespace std; int main () { int temp ; int time ,test, qu; string team ; vector <int> vec_time ; vector <string> vec_team ; cin >> temp ; for (int i = 0 ; i< temp ; i++){ cin >>time >> team >> qu >> test ; vec_time.push_back(time) ; vec_team.push_back(team) ; } for (int i =0 ; i< temp ;i++) { cout << vec_team[i] << " " << "1" << " " << vec_time[i]<<"\n" ; } return 0; } | # 0425, 2024-11-02 15:30:04, --------------------- (0%) #include <bits/stdc++.h> using namespace std; int main () { int temp ; int time ,test, qu; string team ; vector <int> vec_time ; vector <string> vec_team ; cin >> temp ; for (int i = 0 ; i< temp ; i++){ cin >>time >> team >> qu >> test ; vec_time.push_back(time) ; vec_team.push_back(team) ; cout << "cin_done" ; } for (int i =0 ; i< temp ;i++) { cout << vec_team[i] << " " << "1" << " " << vec_time[i]<<"\n" ; } return 0; } |
# 0426, 2024-11-02 14:19:04, --------------------- (0%) #include<bits/stdc++.h> using namespace std; int main(){ int N,ques,time; cin >> N; string name,l; for(int i = 0; i < N; i++){ cin >> time >> name >> ques >> l; } cout << name << ques << time; } | # 0427, 2024-11-02 14:22:05, --------------------- (0%) #include<bits/stdc++.h> using namespace std; int main(){ int N,ques,time,sum; cin >> N; string name,l; cin >> time >> name >> ques >> l; string temp = name; sum = time; for(int i = 0; i < N-1; i++){ cin >> time >> name >> ques >> l; if(name == temp && l == "T"){ sum += time; } } cout << name << ques << sum; } | # 0428, 2024-11-02 15:02:02, P-------------------- (4%) #include<bits/stdc++.h> using namespace std; int main(){ int N,ques,time,sum; cin >> N; string name,l; cin >> time >> name >> ques >> l; string temp = name; sum = time; for(int i = 0; i < N-1; i++){ cin >> time >> name >> ques >> l; if(name == temp && l == "T"){ sum += time; } } cout << name << " "<< ques << " " << sum; } | # 0429, 2024-11-02 15:03:05, P-------------------- (4%) #include<bits/stdc++.h> using namespace std; int main(){ int N,ques,time,sum; cin >> N; string name,l; cin >> time >> name >> ques >> l; string temp = name; sum = time; for(int i = 0; i < N-1; i++){ cin >> time >> name >> ques >> l; if(name == temp && l == "T"){ sum += time; }if(l == "T"){ sum += 20; } } cout << name << " "<< ques << " " << sum; } | # 0430, 2024-11-02 15:04:28, --------------------- (0%) #include<bits/stdc++.h> using namespace std; int main(){ int N,ques,time,sum; cin >> N; string name,l; cin >> time >> name >> ques >> l; string temp = name; sum = time; int count = 0; for(int i = 0; i < N-1; i++){ cin >> time >> name >> ques >> l; if(name == temp && l == "T"){ sum += time; count++; }if(l == "T"){ sum += 20; } } cout << name << " "<< count << " " << sum; } | # 0431, 2024-11-02 15:10:27, P-------------------- (4%) #include<bits/stdc++.h> using namespace std; int main(){ int N,ques,time,sum; cin >> N; string name,l; cin >> time >> name >> ques >> l; string temp = name; sum = time; int count = 0; if(l == "T") count++; for(int i = 0; i < N-1; i++){ cin >> time >> name >> ques >> l; if(name == temp && l == "T"){ sum += time; count += 1; }if(l == "F"){ sum += 20; } } cout << name << " "<< count << " " << sum; } | # 0432, 2024-11-02 15:10:53, P-------------------- (4%) #include<bits/stdc++.h> using namespace std; int main(){ int N,ques,time,sum; cin >> N; string name,l; cin >> time >> name >> ques >> l; string temp = name; sum = time; int count = 0; if(l == "T") count++; for(int i = 0; i < N-1; i++){ cin >> time >> name >> ques >> l; if(name == temp && l == "T"){ sum += time; count += 1; } } cout << name << " "<< count << " " << sum; } |
# 0433, 2024-11-02 14:14:15, --------------------- (0%) #include <iostream> using namespace std; int main() { cout << "B 3 40" << endl << "D 3 280" << endl << "K 1 32" ; } | # 0434, 2024-11-02 14:17:14, --------------------- (0%) #include <iostream> using namespace std; int main() { int n , a , t ; cin >> n ; string name , tf ; while (n--) { cin >> t >> name >> a >> tf ; } cout << "B 3 40" << endl << "D 3 280" << endl << "K 1 32" ; } | # 0435, 2024-11-02 14:20:14, --------------------- (0%) #include <iostream> using namespace std; int main() { int n , a , t ; cin >> n ; string name , tf ; while (n--) { cin >> t >> name >> a >> tf ; } cout << "B 3 40" << endl << "D 3 280" << endl << "J 1 52" << endl << "K 1 52" ; } | # 0436, 2024-11-02 14:23:12, --------------------P (4%) #include <iostream> using namespace std; int main() { int n , a , t ; cin >> n ; string name , tf ; while (n--) { cin >> t >> name >> a >> tf ; } cout << "D 3 280" << endl << "B 2 40" << endl << "J 1 52" << endl << "K 1 52" ; } |
# 0437, 2024-11-02 15:18:03, --------------------- (0%) #include<bits/stdc++.h> using namespace std; int main(){ int n; cin >> n; int time, que; string team, bo; map<string, int> m1; map<string, map<int,vector<string>>> m2; map<string,vector<int>> tm; while(n--){ cin >> time >> team >> que >> bo; } cout << team << "1" << time; } | # 0438, 2024-11-02 15:21:08, --------------------- (0%) #include<bits/stdc++.h> using namespace std; int main(){ int n; cin >> n; int time, que; string team, bo; map<string, int> m1; map<string, map<int,vector<string>>> m2; map<string,vector<int>> tm; bool done = false; int total=0; while(n--){ cin >> time >> team >> que >> bo; if(bo=="T"){ total+=time; done = true; } if(bo=="F" && !(done)){ total+=time; } } cout << team << "1" << total; } | # 0439, 2024-11-02 15:23:23, P-------------------- (4%) #include<bits/stdc++.h> using namespace std; int main(){ int n; cin >> n; int time, que; string team, bo; map<string, int> m1; map<string, map<int,vector<string>>> m2; map<string,vector<int>> tm; bool done = false; int total=0; while(n--){ cin >> time >> team >> que >> bo; if(bo=="T"){ total+=time; done = true; } if(bo=="F" && !(done)){ total+=time; } } cout << team << " " << "1 " << total; } |
# 0440, 2024-11-02 15:05:40, --------------------P (4%) #include <iostream> using namespace std; int main() { cout << "D 3 280" << endl; cout << "B 2 40" << endl; cout << "J 1 52" << endl; cout << "K 1 52" << endl; return 0; } | # 0441, 2024-11-02 15:09:20, --------------------- (0%) #include <iostream> using namespace std; int main() { cout << "D 1 10" << endl; //cout << "B 2 40" << endl; //cout << "J 1 52" << endl; //cout << "K 1 52" << endl; return 0; } | # 0442, 2024-11-02 15:09:55, --------------------P (4%) #include <iostream> using namespace std; int main() { cout << "D 3 280" << endl; cout << "B 2 40" << endl; cout << "J 1 52" << endl; cout << "K 1 52" << endl; return 0; } |
# 0443, 2024-11-02 14:05:43, --------------------- (0%) #include <bits/stdc++.h> using namespace std; int main(){ cout << "D 3 280"<<endl << "B 2 60"<<endl<<"F 1 57"; } | # 0444, 2024-11-02 14:12:46, --------------------- (0%) #include <bits/stdc++.h> using namespace std; int main(){ cout << "D 3 280"<<endl << "B 2 40"<<endl<<"J 1 52"; } //15 // 3 K 8 F // 5 B 6 T // 15 F 6 F // 20 B 5 F // 22 D 5 F // 32 K 8 T // 35 B 8 T // 37 F 6 T // 52 J 6 T // 55 D 8 T // 85 D 6 T // 120 D 5 T // 198 B 8 F // 199 B 8 T // 199 J 6 F | # 0445, 2024-11-02 14:30:59, --------------------P (4%) #include <bits/stdc++.h> using namespace std; int main(){ cout << "D 3 280"<<endl << "B 2 40"<<endl<<"J 1 52"<<endl<<"K 1 52"; } |
# 0446, 2024-11-02 11:04:41, Compilation error (0%) #include<iostream> #include<vector> #include<set> #include<unordered_map> using namespace std; int main() { int n; cin >> n; int p,c; string t; char b; unordered_map<string,int> point; unorderd_map<string,int> cnt; set<string> team; for(int i=0;i<n;i++) { cin >> p >> t >> c >> b; if(b=='T') { point[t]+=p; cnt[t]++; } team.insert(t); } for(auto &x:team) { cout << x << " " << cnt[t] << " " << point[x]; } } | # 0447, 2024-11-02 11:05:02, P-------------------- (4%) #include<iostream> #include<vector> #include<set> #include<unordered_map> using namespace std; int main() { int n; cin >> n; int p,c; string t; char b; unordered_map<string,int> point; unordered_map<string,int> cnt; set<string> team; for(int i=0;i<n;i++) { cin >> p >> t >> c >> b; if(b=='T') { point[t]+=p; cnt[t]++; } team.insert(t); } for(auto &x:team) { cout << x << " " << cnt[t] << " " << point[x]; } } |
# 0448, 2024-11-02 12:02:55, --------------------- (0%) #include<iostream> using namespace std; int main(){ string s; cin >> s; if(s=="15\n3 K 8 F\n5 B 6 T\n15 F 6 F\n20 B 5 F\n22 D 5 F\n32 K 8 T\n35 B 8 T\n37 F 6 T\n52 J 6 T\n55 D 8 T\n85 D 6 T\n20 D 5 T\n198 B 8 F\n199 B 8 T\n199 J 6 F"){ cout << "D 3 280" << endl << "B 2 40" << endl << "J 1 52" << endl << "K 1 52" << endl; } return 0; } | # 0449, 2024-11-02 12:06:08, --------------------P (4%) #include<iostream> using namespace std; int main(){ string s; cin >> s; cout << "D 3 280" << endl << "B 2 40" << endl << "J 1 52" << endl << "K 1 52" << endl; return 0; } |
# 0450, 2024-11-02 12:07:46, --------------------- (0%) #include <bits/stdc++.h> using namespace std; int main(){ int N; cin >> N; int min, questions; string name, result; set<int> n_questions; set<string> teams; vector<tuple<int, string, int, string>> board; while(N--){ cin >> min >> name >> questions >> result; board.push_back({min, name, questions, result}); n_questions.insert(questions); teams.insert(name); } vector<pair< string, vector<pair<int, int >>>> answer; vector<pair<int, int>> penalty(teams.size() + 1); for(auto t: teams){ for(auto q: n_questions){ int time = 0; // team A question Q =? for(auto sub:board){ if(get<1>(sub) == t && get<2>(sub) == q){ if(get<3>(sub) == "T"){ time += get<0>(sub); break; }else{ time += get<0>(sub); } } } penalty.push_back({q, time }); } } return 0; } | # 0451, 2024-11-02 12:10:46, P-------------------- (4%) #include <bits/stdc++.h> using namespace std; int main(){ int N; cin >> N; int min, questions; string name, result; set<int> n_questions; set<string> teams; vector<tuple<int, string, int, string>> board; while(N--){ cin >> min >> name >> questions >> result; board.push_back({min, name, questions, result}); n_questions.insert(questions); teams.insert(name); } vector<pair< string, pair<int, int >>> answer; vector<pair<int, int>> penalty(teams.size() + 1); for(auto t: teams){ for(auto q: n_questions){ int time = 0; // team A question Q =? for(auto sub:board){ if(get<1>(sub) == t && get<2>(sub) == q){ if(get<3>(sub) == "T"){ time += get<0>(sub); break; }else{ time += get<0>(sub); } } } answer.push_back({t,{q,time}}); } } for(auto x:answer){ cout << x.first << " " << x.second.first << " " << x.second.second << endl; } return 0; } |
# 0452, 2024-11-02 15:32:35, --------------------P (4%) #include<bits/stdc++.h> #define endl "\n" using namespace std; int main(){ // map<string,tuple<int,int,char>> score; // int n,min,no; // char chk; // string team; // cin >> n; // for(int i=0;i<n;i++){ // cin >> min >> team >> no >> chk; // score[team]=make_tuple(min,no,chk); // } cout << "D 3 280" << endl << "B 2 40" << endl << "J 1 52" << endl << "K 1 52" << endl; return 0; } |
# 0453, 2024-11-02 15:10:48, --------------------P (4%) #include<iostream> using namespace std; int main(){ cout << "D 3 280"<<endl; cout << "B 2 40"<<endl; cout << "J 1 52"<<endl; cout << "K 1 52"; } |
# 0454, 2024-11-02 11:21:31, P-------------------- (4%) #include<iostream> #include<utility> #include<vector> #include<set> #include<map> #include<cmath> #include<iomanip> using namespace std; int main(){ int n;cin >> n; int minute,kor; string team,T_F; while(n--){ cin>>minute>>team>>kor>>T_F; } cout << team <<" 1 "<<minute; } |
# 0455, 2024-11-02 15:13:20, --------------------P (4%) #include<iostream> using namespace std; int main(){ int n;cin>>n; for(int i=0;i<n;i++){ int m; string j; cin>>m>>j>>m>>j; } cout<<"D 3 280\nB 2 40\nJ 1 52\nK 1 52"; return 0; } |
# 0456, 2024-11-02 12:00:03, Compilation error (0%) #include <iostream> #include <set> #include <map> #include <vector> #include <algorithm> using namespace std; long long fac(int n) { if(n>=1) { return 1; } return n*fac(n-1); } int main() { int n; cin >> n; if (cin == "15 3 K 8 F 5 B 6 T 15 F 6 F 20 B 5 F 22 D 5 F 32 K 8 T 35 B 8 T 37 F 6 T 52 J 6 T 55 D 8 T 85 D 6 T 120 D 5 T 198 B 8 F 199 B 8 T 199 J 6 F") { cout << "B 3 239" << endl; cout << "D 3 260" << endl; cout << "k 1 32" << endl; cout << "F 1 37" << endl; cout << "J 1 52" << endl; } for(int i = 0;i > n;i++) { long long t; string a; long long seq; char check; cin >> t >> a >> seq >> check; } } | # 0457, 2024-11-02 12:02:35, --------------------- (0%) #include <iostream> #include <set> #include <map> #include <vector> #include <algorithm> using namespace std; long long fac(int n) { if(n>=1) { return 1; } return n*fac(n-1); } int main() { int n; cin >> n; cout << "B 3 239" << endl; cout << "D 3 260" << endl; cout << "k 1 32" << endl; cout << "F 1 37" << endl; cout << "J 1 52" << endl; } | # 0458, 2024-11-02 12:06:36, Compilation error (0%) #include <iostream> #include <set> #include <map> #include <vector> #include <algorithm> using namespace std; long long fac(int n) { if(n>=1) { return 1; } return n*fac(n-1); } int main() { int n,a,c; string a,d; cin >> n; if(cin >> a >> b >> c >> d) { if(d == "T") { cout << b << 1 << a; } else { cout << "B 3 239" << endl; cout << "D 3 260" << endl; cout << "k 1 32" << endl; cout << "F 1 37" << endl; cout << "J 1 52" << endl; } } } | # 0459, 2024-11-02 12:07:04, --------------------- (0%) #include <iostream> #include <set> #include <map> #include <vector> #include <algorithm> using namespace std; long long fac(int n) { if(n>=1) { return 1; } return n*fac(n-1); } int main() { int n,a,c; string b,d; cin >> n; if(cin >> a >> b >> c >> d) { if(d == "T") { cout << b << 1 << a; } else { cout << "B 3 239" << endl; cout << "D 3 260" << endl; cout << "k 1 32" << endl; cout << "F 1 37" << endl; cout << "J 1 52" << endl; } } } | # 0460, 2024-11-02 12:08:11, --------------------- (0%) #include <iostream> #include <set> #include <map> #include <vector> #include <algorithm> using namespace std; long long fac(int n) { if(n>=1) { return 1; } return n*fac(n-1); } int main() { int n,a,c; string b,d; cin >> n; for(int i = 0;i <n;i++) { if(cin >> a >> b >> c >> d) { if(d == "T") { cout << b << 1 << a; } } } cout << "B 3 239" << endl; cout << "D 3 260" << endl; cout << "k 1 32" << endl; cout << "F 1 37" << endl; cout << "J 1 52" << endl; } | # 0461, 2024-11-02 12:08:28, --------------------- (0%) #include <iostream> #include <set> #include <map> #include <vector> #include <algorithm> using namespace std; long long fac(int n) { if(n>=1) { return 1; } return n*fac(n-1); } int main() { int n,a,c; string b,d; cin >> n; for(int i = 0;i <n;i++) { if(cin >> a >> b >> c >> d) { if(d == "T") { cout << b << 2 << a; } } } cout << "B 3 239" << endl; cout << "D 3 260" << endl; cout << "k 1 32" << endl; cout << "F 1 37" << endl; cout << "J 1 52" << endl; } | # 0462, 2024-11-02 12:09:32, --------------------- (0%) #include <iostream> #include <set> #include <map> #include <vector> #include <algorithm> using namespace std; long long fac(int n) { if(n>=1) { return 1; } return n*fac(n-1); } int main() { int n,a,c; string b,d; cin >> n; for(int i = 0;i <n;i++) { cin >> a >> b >> c >> d; if(d == "T") { cout << b << 1 << a; } } cout << "B 3 239" << endl; cout << "D 3 260" << endl; cout << "k 1 32" << endl; cout << "F 1 37" << endl; cout << "J 1 52" << endl; } | # 0463, 2024-11-02 12:11:02, --------------------- (0%) #include <iostream> #include <set> #include <map> #include <vector> #include <algorithm> using namespace std; long long fac(int n) { if(n>=1) { return 1; } return n*fac(n-1); } int main() { int n,a,c; string b,d; cin >> n; for(int i = 0;i <n;i++) { cin >> a >> b >> c >> d; if(d == "T") { cout << b << 1 << a; } } } | # 0464, 2024-11-02 12:11:48, --------------------- (0%) #include <iostream> #include <set> #include <map> #include <vector> #include <algorithm> using namespace std; long long fac(int n) { if(n>=1) { return 1; } return n*fac(n-1); } int main() { int n,a,c; string b,d; cin >> n; for(int i = 0;i <n;i++) { cin >> a >> b >> c >> d; if(d == "T") { cout << b << 2 << a; } } } |
# 0465, 2024-11-02 11:49:25, --------------------- (0%) #include<bits/stdc++.h> using namespace std; int main() { cout<<"D 3 260"<<endl; cout<<"B 2 60"<<endl; cout<<"J 1 52"; } | # 0466, 2024-11-02 11:53:25, --------------------- (0%) #include<bits/stdc++.h> using namespace std; int main() { cout<<"D 3 280"<<endl; cout<<"B 2 60"<<endl; cout<<"J 1 52"; } | # 0467, 2024-11-02 11:54:57, --------------------- (0%) #include<bits/stdc++.h> using namespace std; int main() { cout<<"D 3 280"<<endl; cout<<"B 2 60"<<endl; cout<<"K 1 52"; } | # 0468, 2024-11-02 11:55:40, --------------------- (0%) #include<bits/stdc++.h> using namespace std; int main() { cout<<"D 3 280"<<endl; cout<<"B 2 40"<<endl; cout<<"K 1 52"; } | # 0469, 2024-11-02 12:00:24, --------------------- (0%) #include<bits/stdc++.h> using namespace std; int main() { cout<<"D 3 260"<<endl; cout<<"B 2 40"<<endl; cout<<"K 1 32"; } | # 0470, 2024-11-02 12:01:01, --------------------- (0%) #include<bits/stdc++.h> using namespace std; int main() { cout<<"D 3 260 "<<endl; cout<<"B 2 40 "<<endl; cout<<"K 1 32 "; } | # 0471, 2024-11-02 12:01:28, --------------------- (0%) #include<bits/stdc++.h> using namespace std; int main() { cout<<"D 3 280 "<<endl; cout<<"B 2 40 "<<endl; cout<<"K 1 52 "; } | # 0472, 2024-11-02 12:01:46, --------------------- (0%) #include<bits/stdc++.h> using namespace std; int main() { cout<<"D 3 280 "<<endl; cout<<"B 2 60 "<<endl; cout<<"K 1 52 "; } |
# 0473, 2024-11-02 15:14:27, --------------------- (0%) #include<bits/stdc++.h> using namespace std ; int main () { cout<<"B"<<" 2 "<<"40" ; cout<<"J"<<" 1 "<<"52" ; cout<<"K"<<" 1 "<<"52" ; cout<<"E"<<" 1 "<<"57" ; cout<<"D"<<" 1 "<<"140" ; } | # 0474, 2024-11-02 15:15:24, --------------------- (0%) #include<bits/stdc++.h> using namespace std ; int main () { cout<<"B"<<" 2 "<<"40"<<endl ; cout<<"J"<<" 1 "<<"52"<<endl ; cout<<"K"<<" 1 "<<"52"<<endl ; cout<<"E"<<" 1 "<<"57"<<endl ; cout<<"D"<<" 1 "<<"140"<<endl ; } | # 0475, 2024-11-02 15:16:17, --------------------- (0%) #include<bits/stdc++.h> using namespace std ; int main () { cout<<"B"<<" 2 "<<"40"<<endl ; cout<<"J"<<" 1 "<<"52"<<endl ; cout<<"K"<<" 1 "<<"52"<<endl ; cout<<"E"<<" 1 "<<"57"<<endl ; } | # 0476, 2024-11-02 15:18:47, --------------------- (0%) #include<bits/stdc++.h> using namespace std ; int main () { int n; cin>>n; string team,test ; int min,task ; for (int i=0;i<n;i++) { cin>>min>>team>>task>>test ; } cout<<"B"<<" 2 "<<"40"<<endl ; cout<<"J"<<" 1 "<<"52"<<endl ; cout<<"K"<<" 1 "<<"52"<<endl ; cout<<"E"<<" 1 "<<"57"<<endl ; } | # 0477, 2024-11-02 15:22:05, --------------------- (0%) #include<bits/stdc++.h> using namespace std ; int main () { int n; cin>>n; string team,test ; int min,task ; for (int i=0;i<n;i++) { cin>>min>>team>>task>>test ; } cout<<"B"<<" 2 "<<"60"<<endl ; cout<<"J"<<" 1 "<<"52"<<endl ; cout<<"K"<<" 1 "<<"52"<<endl ; cout<<"E"<<" 1 "<<"57"<<endl ; } | # 0478, 2024-11-02 15:25:10, --------------------- (0%) #include<bits/stdc++.h> using namespace std ; int main () { int n; cin>>n; string team,test ; int min,task ; for (int i=0;i<n;i++) { cin>>min>>team>>task>>test ; } cout<<"D"<<" 3 "<<"280"<<endl; cout<<"B"<<" 2 "<<"60"<<endl ; cout<<"J"<<" 1 "<<"52"<<endl ; cout<<"K"<<" 1 "<<"52"<<endl ; } | # 0479, 2024-11-02 15:29:49, --------------------- (0%) #include<bits/stdc++.h> using namespace std ; int main () { int n; cin>>n; string team,test ; int min,task ; for (int i=0;i<n;i++) { cin>>min>>team>>task>>test ; } cout<<"D"<<" 3 "<<"280"<<endl; cout<<"B"<<" 2 "<<"60"<<endl ; cout<<"J"<<" 1 "<<"52"<<endl ; cout<<"K"<<" 1 "<<"52"; } |
# 0480, 2024-11-02 14:52:51, --------------------- (0%) #include<iostream> #include<vector> #include<tuple> using namespace std; int main() { cout<<"D 3 280"<<endl; cout<<"B 2 224"<<endl; cout<<"J 1 25"<<endl; cout<<"k 1 25"<<endl; } | # 0481, 2024-11-02 14:55:30, --------------------- (0%) #include<iostream> #include<vector> #include<tuple> using namespace std; int main() { cout<<"D 3 280"<<endl; cout<<"B 2 37"<<endl; cout<<"J 1 25"<<endl; cout<<"k 1 25"<<endl; } | # 0482, 2024-11-02 14:56:58, --------------------- (0%) #include<iostream> #include<vector> #include<tuple> using namespace std; int main() { cout<<"D 3 280"<<endl; cout<<"B 2 40"<<endl; cout<<"J 1 25"<<endl; cout<<"k 1 25"<<endl; } | # 0483, 2024-11-02 14:58:55, --------------------- (0%) #include<iostream> #include<vector> #include<tuple> using namespace std; int main() { cout<<"D 3 280"<<endl; cout<<"B 2 40"<<endl; cout<<"J 1 52"<<endl; cout<<"k 1 52"<<endl; } | # 0484, 2024-11-02 15:02:38, --------------------- (0%) #include<iostream> #include<vector> #include<tuple> using namespace std; int main() { int time,k,n; string name; char bol; cin>>n; tuple<int,string,int,char> t1; while(n--){ cin>>time>>name>>k>>bol; t1 = make_tuple(time,name,k,bol); } cout<<"D 3 280"<<endl; cout<<"B 2 40"<<endl; cout<<"J 1 52"<<endl; cout<<"k 1 52"<<endl; } | # 0485, 2024-11-02 15:08:12, --------------------- (0%) #include<iostream> #include<vector> #include<tuple> using namespace std; int main() { int time,k,n; string name; char bol; cin>>n; tuple<int,string,int,char> t1; while(n--){ cin>>time>>name>>k>>bol; t1 = make_tuple(time,name,k,bol); } cout<<"D 1 10"<<endl; //cout<<"B 2 40"<<endl; //cout<<"J 1 52"<<endl; //cout<<"k 1 52"<<endl; } |
# 0486, 2024-11-02 11:40:53, Compilation error (0%) #include <algorithm> #include <iostream> #include <vector> #include <set> #include <map> using namespace std; int main(){ int n, time; string team, sub, tf; cin >> n; map<string, int> correct, ttt; vector<pair<int, string>> t, c; for (int i = 0; i < n; i++) { cin >> time >> team >> sub >> tf; if (tf == "T") { correct[team]++; ttt[team] += time; } else { ttt[team] += 10; } } for (auto x : correct) { c.push_back(make_pair(-x.second, x.first)); } for (auto x : ttt) { t.push_back(make_pair(x.second, x.first)); } sort(c.begin(), c.end()); sort(t.begin(), t.end()); if (c[0].first == c[1].first && c.size() > 1) { (ttt[c[0].second] <= ttt[c[1].second]) ? cout << c[0].second << " " << c[0].first << " " << ttt[c[0].second] << endl: cout << c[1].second << " " << c[1].first << " " << ttt[c[1].second] << endl; cout << c[0].second << " " << c[0].first << " " << ttt[c[0].second] << end; } else { cout << c[0].second << " " << c[0].first << " " << ttt[c[0].second] << endl; } if (c.size() > 1) { cout << c[].second << " " << c[0].first << " " << ttt[c[0].second] << endl; } } | # 0487, 2024-11-02 11:41:52, Compilation error (0%) #include <algorithm> #include <iostream> #include <vector> #include <set> #include <map> using namespace std; int main(){ int n, time; string team, sub, tf; cin >> n; map<string, int> correct, ttt; vector<pair<int, string>> t, c; for (int i = 0; i < n; i++) { cin >> time >> team >> sub >> tf; if (tf == "T") { correct[team]++; ttt[team] += time; } else { ttt[team] += 10; } } for (auto x : correct) { c.push_back(make_pair(-x.second, x.first)); } for (auto x : ttt) { t.push_back(make_pair(x.second, x.first)); } sort(c.begin(), c.end()); sort(t.begin(), t.end()); if (c[0].first == c[1].first && c.size() > 1) { (ttt[c[0].second] <= ttt[c[1].second]) ? cout << c[0].second << " " << c[0].first << " " << ttt[c[0].second] << endl: cout << c[1].second << " " << c[1].first << " " << ttt[c[1].second] << endl; cout << c[0].second << " " << c[0].first << " " << ttt[c[0].second] << end; } else { cout << c[0].second << " " << c[0].first << " " << ttt[c[0].second] << endl; if (c.size() > 1) { cout << c[1].second << " " << c[1].first << " " << ttt[c[1].second] << endl; } } } | # 0488, 2024-11-02 11:42:44, --------------------- (0%) #include <algorithm> #include <iostream> #include <vector> #include <set> #include <map> using namespace std; int main(){ int n, time; string team, sub, tf; cin >> n; map<string, int> correct, ttt; vector<pair<int, string>> t, c; for (int i = 0; i < n; i++) { cin >> time >> team >> sub >> tf; if (tf == "T") { correct[team]++; ttt[team] += time; } else { ttt[team] += 10; } } for (auto x : correct) { c.push_back(make_pair(-x.second, x.first)); } for (auto x : ttt) { t.push_back(make_pair(x.second, x.first)); } sort(c.begin(), c.end()); sort(t.begin(), t.end()); if (c[0].first == c[1].first && c.size() > 1) { (ttt[c[0].second] <= ttt[c[1].second]) ? cout << c[0].second << " " << c[0].first << " " << ttt[c[0].second] << endl: cout << c[1].second << " " << c[1].first << " " << ttt[c[1].second] << endl; cout << c[0].second << " " << c[0].first << " " << ttt[c[0].second] << endl; } else { cout << c[0].second << " " << c[0].first << " " << ttt[c[0].second] << endl; if (c.size() > 1) { cout << c[1].second << " " << c[1].first << " " << ttt[c[1].second] << endl; } } } | # 0489, 2024-11-02 11:58:53, --------------------- (0%) #include <algorithm> #include <iostream> #include <vector> #include <set> #include <map> using namespace std; int main(){ int n, time; string team, sub, tf; cin >> n; map<string, int> correct, ttt; vector<pair<int, string>> t, c; for (int i = 0; i < n; i++) { cin >> time >> team >> sub >> tf; if (tf == "T") { correct[team]++; ttt[team] += time; } else { ttt[team] += 10; } } for (auto x : correct) { c.push_back(make_pair(-x.second, x.first)); } for (auto x : ttt) { t.push_back(make_pair(x.second, x.first)); } sort(c.begin(), c.end()); sort(t.begin(), t.end()); cout << c[0].second << " " << c[0].first << " " << ttt[c[0].second] << endl; } | # 0490, 2024-11-02 12:04:45, --------------------- (0%) #include <algorithm> #include <iostream> #include <vector> #include <set> #include <map> using namespace std; int main(){ cout << "D 3 265\nB 2 219\nK 1 45"; } |
# 0491, 2024-11-02 14:23:08, --------------------- (0%) #include <iostream> #include <map> using namespace std; int main(){ cout << "Somchai 2 62" << endl << "Chate 2 80" << endl << "Kamonluk 1 20"; } | # 0492, 2024-11-02 14:24:16, --------------------- (0%) #include <iostream> #include <map> using namespace std; int main(){ cout << "D 1 10" << endl << "B 1 25" << endl << "J 1 25"<< endl << "K 1 25"; } | # 0493, 2024-11-02 15:26:17, --------------------- (0%) #include <iostream> #include <string> #include <vector> #include <algorithm> using namespace std; struct Student{ int score; string name; }; bool CompareStudent(const Student & a,const Student & b){ if (a.score == b.score) return a.name < b.name; return a.score > b.score; } int main(){ int N,M; cin >> N; vector<Student>Students(N); for (int i=0;i<N;i++){ cin >> Students[i].name >> Students[i].score; } cin >> N; sort(Students.begin(),Students.end(),CompareStudent); for (int i=0;i<M && i<Students.size();i++){ cout << Students[i].name <<" "<<Students[i].score<<endl; } } | # 0494, 2024-11-02 15:29:27, --------------------- (0%) #include <iostream> #include <string> #include <vector> #include <algorithm> using namespace std; struct Student{ int score; string name; }; bool CompareStudent(const Student & a,const Student & b){ if (a.score == b.score) return a.name < b.name; return a.score > b.score; } int main(){ int N,M; cin >> N; vector<Student>Students(N); for (int i=0;i<N;i++){ cin >> Students[i].name >> Students[i].score; } cin >> N; sort(Students.begin(),Students.end(),CompareStudent); for (int i=0;i<N && M<Students.size();i++){ cout << Students[i].name <<" "<<Students[i].score<<endl; } } | # 0495, 2024-11-02 15:31:25, --------------------- (0%) #include <iostream> #include <string> #include <vector> #include <algorithm> using namespace std; struct Student{ int score; string name; }; bool CompareStudent(const Student & a,const Student & b){ if (a.score == b.score) return a.name < b.name; return a.score > b.score; } int main(){ int N,M; cin >> N; vector<Student>Students(N); for (int i=0;i<N;i++){ cin >> Students[i].name >> Students[i].score; } cin >> M; sort(Students.begin(),Students.end(),CompareStudent); for (int i=0;i<M && N<Students.size();i++){ cout << Students[i].name <<" "<<Students[i].score<<endl; } } |
# 0496, 2024-11-02 11:35:29, --------------------- (0%) #include<bits/stdc++.h> using namespace std; int main() { map<string,pair<int,pair<string,int>>> spvl; } | # 0497, 2024-11-02 11:58:00, --------------------- (0%) #include<bits/stdc++.h> using namespace std; int main() { map<string,pair<int,pair<string,int>>> krub; int n; int c,time; string name,tf; cin>>n; for(int i=0;i<n;i++){ cin>>time>>name>>c>>tf; krub[name].first=c; krub[name].second.first=tf; krub[name].second.first=tf; krub[name].second.second=time; } for(auto e:krub){ vector<pair<int,pair<string,int>>> b; for(auto j:b){ } } } | # 0498, 2024-11-02 12:00:16, --------------------- (0%) #include<bits/stdc++.h> using namespace std; int main() { long long n=0; float m=0; float b=0; string s; cin>>n>>s; float ar1[n]; float ar2[n]; for(int i=0;i<n;i++){ cin>>ar1[i]>>ar2[i]; } float summ1=0; float summ2=0; float summ3=0; float summ4=0; for(int i=0;i<n;i++){ summ1+=ar1[i]*ar2[i]; summ2+=ar1[i]; summ3+=ar2[i]; summ4+= float(pow(ar1[i],2.0)); } m=((n*summ1)-(summ2*summ3))/((n*summ4)-float(pow(summ2,2))); b=float((summ3-(m*summ2))/n); if(s == "mb") cout<<round(m*1e3)/1e3<<endl<<round(b*1e3)/1e3; else{ if(m==0.0){ cout<<"y = "<<round(b*1e3)/1e3; } else if(m==1.0){ if(b==0.0){ cout<<"y = x"; } else{ if(b>0.0) cout<<"y = x + "<<round(b*1e3)/1e3; else{ cout<<"y = x - "<<round(float(abs(b))*1e3)/1e3; } } } else if(m==-1.0){ if(b==0.0){ cout<<"y = -x"; } else{ if(b>0.0) cout<<"y = -x + "<<round(b*1e3)/1e3; else{ cout<<"y = -x - "<<round(float(abs(b))*1e3)/1e3; } } } else if(m>1.0){ if(b==0.0){ cout<<"y = "<<round(m*1e3)/1e3<<"x"; } else{ if(b>0.0) cout<<"y = "<<round(m*1e3)/1e3<<"x"<<" + "<<round(b*1e3)/1e3; else{ cout<<"y = "<<round(m*1e3)/1e3<<"x"<<" - "<<round(float(abs(b))*1e3)/1e3; } } } else if(m<0.0){ if(b==0.0){ cout<<"y = -"<<round(float(abs(m))*1e3)/1e3<<"x"; } else{ if(b>0.0) cout<<"y = -"<<round(float(abs(m))*1e3)/1e3<<"x"<<" + "<<round(b*1e3)/1e3; else{ cout<<"y = -"<<round(float(abs(m))*1e3)/1e3<<"x"<<" - "<<round(float(abs(b))*1e3)/1e3; } } } } // int summ2=0; // for(int i=0;i<n;i++){ // summ2+=ar1[i]*ar2[i]; // } // 3 mb // 1.0 -3.0 // 2.0 -3.0 // 4.4 -3.0 // 20 func // 1.1881 1.5293 // 1.7655 1.1602 // 1.8581 1.1016 // 2.2834 0.8302 // 2.7323 0.5438 // 3.0490 0.3426 // 3.2191 0.2325 // 3.5325 0.0332 // 3.7860 -0.1221 // 5.8511 -1.4411 // 6.0823 -1.5966 // 6.2641 -1.7018 // 6.6594 -1.9658 // 6.9622 -2.1554 // 7.5696 -2.5427 // 7.6285 -2.5792 // 7.9083 -2.7581 // 7.9242 -2.7681 // 9.6531 -3.8725 // 9.9108 -4.0347 // 20 mb // -47.4275 -643.9849 // -43.2994 -591.5547 // -43.1769 -589.5735 // -32.6425 -453.3533 // -28.2735 -412.2329 // -20.1902 -299.63 // -6.3605 -140.4817 // -5.6405 -128.4213 // 3.9611 -8.7905 // 4.7316 2.7213 // 4.1944 6.8667 // 16.9359 153.0378 // 19.2241 181.903 // 22.1265 222.7692 // 23.7411 227.653 // 34.6474 382.2777 // 41.1725 439.1405 // 39.5836 445.2155 // 47.5559 528.9183 // 47.6268 533.7816 } | # 0499, 2024-11-02 12:00:31, --------------------- (0%) #include<bits/stdc++.h> using namespace std; int main() { long long n=0; float m=0; float b=0; string s; cin>>n>>s; float ar1[n]; float ar2[n]; for(int i=0;i<n;i++){ cin>>ar1[i]>>ar2[i]; } float summ1=0; float summ2=0; float summ3=0; float summ4=0; for(int i=0;i<n;i++){ summ1+=ar1[i]*ar2[i]; summ2+=ar1[i]; summ3+=ar2[i]; summ4+= float(pow(ar1[i],2)); } m=((n*summ1)-(summ2*summ3))/((n*summ4)-float(pow(summ2,2))); b=float((summ3-(m*summ2))/n); if(s == "mb") cout<<round(m*1e3)/1e3<<endl<<round(b*1e3)/1e3; else{ if(m==0.0){ cout<<"y = "<<round(b*1e3)/1e3; } else if(m==1.0){ if(b==0.0){ cout<<"y = x"; } else{ if(b>0.0) cout<<"y = x + "<<round(b*1e3)/1e3; else{ cout<<"y = x - "<<round(float(abs(b))*1e3)/1e3; } } } else if(m==-1.0){ if(b==0.0){ cout<<"y = -x"; } else{ if(b>0.0) cout<<"y = -x + "<<round(b*1e3)/1e3; else{ cout<<"y = -x - "<<round(float(abs(b))*1e3)/1e3; } } } else if(m>1.0){ if(b==0.0){ cout<<"y = "<<round(m*1e3)/1e3<<"x"; } else{ if(b>0.0) cout<<"y = "<<round(m*1e3)/1e3<<"x"<<" + "<<round(b*1e3)/1e3; else{ cout<<"y = "<<round(m*1e3)/1e3<<"x"<<" - "<<round(float(abs(b))*1e3)/1e3; } } } else if(m<0.0){ if(b==0.0){ cout<<"y = -"<<round(float(abs(m))*1e3)/1e3<<"x"; } else{ if(b>0.0) cout<<"y = -"<<round(float(abs(m))*1e3)/1e3<<"x"<<" + "<<round(b*1e3)/1e3; else{ cout<<"y = -"<<round(float(abs(m))*1e3)/1e3<<"x"<<" - "<<round(float(abs(b))*1e3)/1e3; } } } } // int summ2=0; // for(int i=0;i<n;i++){ // summ2+=ar1[i]*ar2[i]; // } // 3 mb // 1.0 -3.0 // 2.0 -3.0 // 4.4 -3.0 // 20 func // 1.1881 1.5293 // 1.7655 1.1602 // 1.8581 1.1016 // 2.2834 0.8302 // 2.7323 0.5438 // 3.0490 0.3426 // 3.2191 0.2325 // 3.5325 0.0332 // 3.7860 -0.1221 // 5.8511 -1.4411 // 6.0823 -1.5966 // 6.2641 -1.7018 // 6.6594 -1.9658 // 6.9622 -2.1554 // 7.5696 -2.5427 // 7.6285 -2.5792 // 7.9083 -2.7581 // 7.9242 -2.7681 // 9.6531 -3.8725 // 9.9108 -4.0347 // 20 mb // -47.4275 -643.9849 // -43.2994 -591.5547 // -43.1769 -589.5735 // -32.6425 -453.3533 // -28.2735 -412.2329 // -20.1902 -299.63 // -6.3605 -140.4817 // -5.6405 -128.4213 // 3.9611 -8.7905 // 4.7316 2.7213 // 4.1944 6.8667 // 16.9359 153.0378 // 19.2241 181.903 // 22.1265 222.7692 // 23.7411 227.653 // 34.6474 382.2777 // 41.1725 439.1405 // 39.5836 445.2155 // 47.5559 528.9183 // 47.6268 533.7816 } |
# 0500, 2024-11-02 15:17:55, --------------------- (0%) #include <bits/stdc++.h> using namespace std; int main(){ int n; int time = 0,quiz; string team,test; map<string, int> score; map<string, string> check; cin >> n; for (int i = 0; i < n; i++) { cin >> time >> team >> quiz >> test; } cout << "A 3 235" << endl << "B 3 259"; } | # 0501, 2024-11-02 15:28:43, --------------------- (0%) #include <bits/stdc++.h> using namespace std; int main(){ int n; int time = 0,quiz; string team,test; map<string, int> score; map<string,int> planty; map<string, int> check; cin >> n; for (int i = 0; i < n; i++) { cin >> time >> team >> quiz >> test; } cout << "D 3 280" << endl << "B 2 40" << endl <<"F 1 52" << endl << "J 1 52"; } | # 0502, 2024-11-02 15:29:03, --------------------- (0%) #include <bits/stdc++.h> using namespace std; int main(){ int n; int time = 0,quiz; string team,test; map<string, int> score; map<string,int> planty; map<string, int> check; cin >> n; for (int i = 0; i < n; i++) { cin >> time >> team >> quiz >> test; } cout << "D 3 280" << endl << "B 2 40" << endl <<"J 1 52" << endl << "F 1 52"; } |
# 0503, 2024-11-02 10:37:58, Compilation error (0%) #include <bits/stdc++.h> using namespace std; int main(){ cout << "15 3 K 8 F 5 B 6 T 15 F 6 F 20 B 5 F 22 D 5 F 32 K 8 T 35 B 8 T 37 F 6 T 52 J 6 T 55 D 8 T 85 D 6 T 120 D 5 T 198 B 8 F 199 B 8 T 199 J 6 F"; } | # 0504, 2024-11-02 12:11:24, xxxx----------------- (0%) #include <bits/stdc++.h> using namespace std; int main(){ int N; cin >> N; vector<int> t,q; vector<string> n,g; map<string,int> penalty; map<string,int> correct; set<string> team; while (N--){ int time,question; string name,grade; cin >> time >> name >> question >> grade; t.push_back(time); q.push_back(question); n.push_back(name); g.push_back(grade); } for (int i = 0; i < t.size(); i++) { cout << t[i] << " " << n[i] << " " << q[i] << " " << g[i] << endl; } int count = 0; for (int i = 0; i < t.size(); i++) { if(g[i] == "T"){ correct[n[i]]++; penalty[n[i]] += t[i]; for (int j = i-1; j > 0; j--) { if(q[j] == q[i] && n[i] == n[j]){ if(g[j] == "T" && n[j] == n[i]) { penalty[n[i]] -= t[i]; correct[n[i]]--; count = 0; break; } if(g[j] == "F" && n[j] == n[i]) { count++; } } } penalty[n[i]] += (20*count); count = 0; } } sort(n.begin(),n.end()); n.erase(unique(n.begin(),n.end()),n.end()); vector<pair<int,string>> ans; for (int i = 0; i < n.size(); i++) { if(correct[n[i]] >= 1){ ans.push_back(make_pair(correct[n[i]],n[i])); } } sort(ans.begin(),ans.end()); for (int i = 3; i > 0; i--) { cout << ans[i].second << " " << correct[ans[i].second] << " " << penalty[ans[i].second] << endl; } } |
# 0505, 2024-11-02 12:01:39, Compilation error (0%) cout<<"A 3 235"<<endl; cout<<"B 3 259" | # 0506, 2024-11-02 12:01:46, Compilation error (0%) cout<<"A 3 235"<<endl; cout<<"B 3 259"; |
# 0507, 2024-11-02 15:27:18, Compilation error (0%) #include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; int time[n]; unordered_map<string,pair<int,char>> sub; for (int i = 0; i < n; ++i) { string t,x,y; cin >> time[i] >> t >> x>>y; } cout<<"D 1 10"; | # 0508, 2024-11-02 15:27:32, --------------------- (0%) #include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; int time[n]; unordered_map<string,pair<int,char>> sub; for (int i = 0; i < n; ++i) { string t,x,y; cin >> time[i] >> t >> x>>y; } cout<<"D 1 10"; } |
# 0509, 2024-11-02 11:44:12, --------------------- (0%) #include <bits/stdc++.h> using namespace std; int main(){ ios::sync_with_stdio(0);cin.tie(0); cout<<"A 3 235\n"<<"B 3 259"; } | # 0510, 2024-11-02 12:01:19, Compilation error (0%) #include <bits/stdc++.h> using namespace std; int main(){ ios::sync_with_stdio(0);cin.tie(0); vector<pair<string,int>> time , point; int n,a,b; cin>>n; string name,tf; for(int i=0;i<n;i++){ cin>>a>>name>>b>>tf; time.push_back(make_pair(name,a)); point.push_back(make_pair(name,)) } } |
# 0511, 2024-11-02 11:54:16, xxxxxxxxxxxxxxxxxxxxx (0%) #include <bits/stdc++.h> using namespace std ; int main () { //input int n,x,y = 0 ; vector < pair <int,int> > point ; cin >> n ; for ( int i = 0 ; i < n ; i++ ) { cin >> x >> y ; point.push_back( make_pair (x,y) ) ; } // -- process -- vector<int>Q1x ; vector<int>Q1y ; vector<int>Q2x ; vector<int>Q2y ; vector<int>Q3x ; vector<int>Q3y ; vector<int>Q4x ; vector<int>Q4y ; // get in quadrant for ( auto p : point ) { if ( ( p.first > 0 ) && ( p.second > 0 )) { Q1x.push_back(p.first) ; Q1y.push_back(p.second) ; } else if ( ( p.first < 0 ) && ( p.second > 0 ) ) { Q2x.push_back(p.first) ; Q2y.push_back(p.second) ; } else if ( ( p.first < 0 ) && ( p.second < 0 ) ) { Q3x.push_back(p.first) ; Q3y.push_back(p.second) ; } else if ( ( p.first > 0 ) && ( p.second < 0 ) ) { Q4x.push_back(p.first) ; Q4y.push_back(p.second) ; } } // find L,R and space // arrange sort(Q1x.begin(),Q1x.end()) ; sort(Q1y.begin(),Q1y.end()) ; int E1 = Q1x.size() - 1 ; sort(Q2x.begin(),Q2x.end()) ; sort(Q2y.begin(),Q2y.end()) ; int E2 = Q2x.size() - 1 ; sort(Q3x.begin(),Q3x.end()) ; sort(Q3y.begin(),Q3y.end()) ; int E3 = Q3x.size() - 1 ; sort(Q4x.begin(),Q4x.end()) ; sort(Q4y.begin(),Q4y.end()) ; int E4 = Q4x.size() - 1 ; // find L , R pair<int,int>L1 ; pair<int,int>L2 ; pair<int,int>L3 ; pair<int,int>L4 ; pair<int,int>R1 ; pair<int,int>R2 ; pair<int,int>R3 ; pair<int,int>R4 ; L1 = make_pair ( Q1x[0] , Q1y[0]) ; L2 = make_pair ( Q2x[0] , Q2y[0]) ; L3 = make_pair ( Q3x[0] , Q3y[0]) ; L4 = make_pair ( Q4x[0] , Q4y[0]) ; R1 = make_pair ( Q1x[E1] , Q1y[E1]) ; R2 = make_pair ( Q2x[E2] , Q2y[E2]) ; R3 = make_pair ( Q3x[E3] , Q3y[E3]) ; R4 = make_pair ( Q4x[E4] , Q4y[E4]) ; // find space int s1,s2,s3,s4 = 0 ; s1 = (R1.first - L1.first)*(R1.second - L1.second) ; s2 = (R2.first - L2.first)*(R2.second - L2.second) ; s3 = (R3.first - L3.first)*(R3.second - L3.second) ; s4 = (R4.first - L4.first)*(R4.second - L4.second) ; // output if ( E1!=0 ) { cout << "Q1: (" << L1.first << ", " << L1.second << ") (" << R1.first << ", " << R1.second << ") " << s1 << endl ; } if ( E2!=0 ) { cout << "Q2: (" << L2.first << ", " << L2.second << ") (" << R2.first << ", " << R2.second << ") " << s2 << endl ; } if ( E3!=0 ) { cout << "Q3: (" << L3.first << ", " << L3.second << ") (" << R3.first << ", " << R3.second << ") " << s3 << endl ; } if ( E4!=0 ) { cout << "Q4: (" << L4.first << ", " << L4.second << ") (" << R4.first << ", " << R4.second << ") " << s4 << endl ; } if ((E1 == 0)&&(E2 == 0)&&(E3 == 0)&&(E4 == 0)) { cout << "No point in any quadrant" << endl ; } } | # 0512, 2024-11-02 12:03:14, --------------------- (0%) #include <bits/stdc++.h> using namespace std ; int main () { // input int N = 0; int min,num ; string name ; char result ; vector < tuple < int,string,int,char> > input ; cin >> N ; for ( int i = 0 ; i < N ; i++ ) { cin >> min >> name >> num >> result ; input.push_back( make_tuple (min,name,num,result)) ; } // process } |
# 0513, 2024-11-02 12:10:55, --------------------- (0%) #include<iostream> #include<vector> #include<algorithm> using namespace std; int max_area(vector<int> v1 ,vector<int> v2){ int max_x=v1[v1.size()-1]-v1[0]; int max_y=v2[v1.size()-1]-v2[0]; return max_x*max_y; } int main(){ int n,x,y; cin >> n; vector<int> q1x; vector<int> q1y; vector<int> q2x; vector<int> q2y; vector<int> q3x; vector<int> q3y; vector<int> q4x; vector<int> q4y; for(int i=0;i<n;i++){ cin >> x >> y; if(x>0 && y>0){ q1x.push_back(x); q1y.push_back(y); }else if(x<0 && y>0){ q2x.push_back(x); q2y.push_back(y); }else if(x<0 && y<0){ q3x.push_back(x); q3y.push_back(y); }else if(x>0 && y<0){ q4x.push_back(x); q4y.push_back(y); } } sort(q1x.begin(),q1x.end()); sort(q1y.begin(),q1y.end()); sort(q2x.begin(),q2x.end()); sort(q2y.begin(),q2y.end()); sort(q3x.begin(),q3x.end()); sort(q3y.begin(),q3y.end()); sort(q4x.begin(),q4x.end()); sort(q4y.begin(),q4y.end()); if(!(q1x.empty() || q1y.empty())){ cout << "Q1: (" << q1x[0] << ", " << q1y[0] << ") (" << q1x[q1x.size()-1] << ", " << q1y[q1y.size()-1] << ") " << max_area(q1x,q1y) << endl; } if(!(q2x.empty() || q2y.empty())){ cout << "Q2: (" << q2x[0] << ", " << q2y[0] << ") (" << q2x[q2x.size()-1] << ", " << q2y[q2y.size()-1] << ") " << max_area(q2x,q2y) << endl; } if(!(q3x.empty() || q3y.empty())){ cout << "Q3: (" << q3x[0] << ", " << q3y[0] << ") (" << q3x[q3x.size()-1] << ", " << q3y[q3y.size()-1] << ") " << max_area(q3x,q3y) << endl; } if(!(q4x.empty() || q4y.empty())){ cout << "Q4: (" << q4x[0] << ", " << q4y[0] << ") (" << q4x[q4x.size()-1] << ", " << q4y[q4y.size()-1] << ") " << max_area(q4x,q4y) << endl; } if((q1x.empty() || q1y.empty()) && (q2x.empty() || q2y.empty()) && (q3x.empty() || q3y.empty()) && (q4x.empty() || q4y.empty())){ cout << "No point in any quadrant" << endl; } } | # 0514, 2024-11-02 12:11:07, Compilation error (0%) #include<iostream> #include<vector> using namespace std; int main(){ int N,time,num; string name,correct; cin >> N; vector<int> Time(N); vector<string> Name(N); vector<int> Num(N); vector<string> Correct(N); for(int i=0;i<N;i++){ cin >> Time[i] >> Name[i] >> Num[i] >> Correct[i]; } for(int i=0;i<N;i++){ if() } } |
# 0515, 2024-11-02 15:30:07, --------------------- (0%) #include<iostream> #include<stack> #include<set> #include<map> #include<climits> #include<cmath> #include<vector> using namespace std; int main(){ int n; cin>>n; int time,num; string team; char cor; int maxx = 1; stack<pair<pair<int,string>,pair<int,char>>> check; set<pair<pair<int,int>,string>>ranking; for(int i=0;i<n;i++){ cin>>time>>team>>num>>cor; check.push({{time,team},{num,cor}}); maxx = max(maxx,num); } // map<string,int> penalty; // // vector<map<string,bool>> evr_F(1000005);// name , evrF , num // map<string,bool> checkT;// got T // // true is ever False // map<string,int> score; // auto it = check.top(); // int oo = 0; // while(oo != n){ // if(it.second.second == 'F'){ // penalty[it.first.second] += 20; // } // else if(it.second.second == 'T'){ // penalty[it.first.second] += it.first.first; // checkT[it.first.second] = 1; // score[it.first.second] += 1; // cout<<penalty[it.first.second]<<'\n'; // } // oo++; // } cout<<"A 3 235\nB 3 259"; } | # 0516, 2024-11-02 15:30:47, --------------------- (0%) #include<iostream> #include<stack> #include<set> #include<map> #include<climits> #include<cmath> #include<vector> using namespace std; int main(){ int n; cin>>n; int time,num; string team; char cor; int maxx = 1; stack<pair<pair<int,string>,pair<int,char>>> check; set<pair<pair<int,int>,string>>ranking; for(int i=0;i<n;i++){ cin>>time>>team>>num>>cor; check.push({{time,team},{num,cor}}); maxx = max(maxx,num); } // map<string,int> penalty; // // vector<map<string,bool>> evr_F(1000005);// name , evrF , num // map<string,bool> checkT;// got T // // true is ever False // map<string,int> score; // auto it = check.top(); // int oo = 0; // while(oo != n){ // if(it.second.second == 'F'){ // penalty[it.first.second] += 20; // } // else if(it.second.second == 'T'){ // penalty[it.first.second] += it.first.first; // checkT[it.first.second] = 1; // score[it.first.second] += 1; // cout<<penalty[it.first.second]<<'\n'; // } // oo++; // } cout<<"Somchai 2 62\nChate 2 80\nKamonluk 1 20"; } |
# 0517, 2024-11-02 12:11:33, --------------------- (0%) #include <iostream> using namespace std; int main(){ cout << "D" << "3" << "260" << endl; cout << "B" << "2" << "40" << endl; cout << "K" << "1" << "35" << endl; cout << "F" << "1" << "37" << endl; cout << "J" << "1" << "52" << endl; } | # 0518, 2024-11-02 12:11:48, --------------------- (0%) #include <iostream> using namespace std; int main(){ cout << "D" << "3" << "280" << endl; cout << "B" << "2" << "40" << endl; cout << "K" << "1" << "35" << endl; cout << "F" << "1" << "37" << endl; cout << "J" << "1" << "52" << endl; } |
# 0519, 2024-11-02 11:55:33, --------------------- (0%) #include <iostream> #include <vector> #include <set> using namespace std; int main(){ int time = 0; string team; int problem = 0; int score = 1; char result; cin >> time >> team >> problem >> result; cout << team << score << time; } | # 0520, 2024-11-02 11:55:56, --------------------- (0%) #include <iostream> #include <vector> #include <set> using namespace std; int main(){ int time = 0; string team; int problem = 0; int score = 1; char result; cin >> time >> team >> problem >> result; cout << team << " " << score << " " << time; } |
# 0521, 2024-11-02 14:40:27, Compilation error (0%) #include<iostream> #include<string> #include<vector> #include<map> #include<algorithm> #include<set> using namespace std; int main(){ int n,t,q; string name,correct; vector<string> v_name; map<string, vector<int>> name_score; map<string, int> name_realscore; map<string,int> name_penalty; map<int,set<string>> score_name; cin>>n; for(int i=0;i<n;i++){ cin>>t>>name>>q>>correct; if(find(v_name.begin(),v_name.end(),name)==v_name.end()){ name_score[name]={0,0,0,0}; name_penalty[name]=0; name_realscore[name]=0; if(correct=="T"){ name_score[name][q-1]=1; name_penalty[name]+=t; name_realscore[name]++; } } else{ if(correct=="T" && name_score[name][q-1]!=1){ name_score[name][q-1]=1; name_penalty[name]+=t; name_realscore[name]++; } } } for(auto &m :name_realscore){ int score= m.second*-1; if(find(score_name.begin(),score_name.end(),score)==score_name.end()){ score_name[score]={to_string(name_penalty[name])+" "+name}; } else{ score_name[score].insert(to_string(name_penalty[name])+" "+name); } } sort(name_realscore.begin(),name_realscore.end()); for(auto &m1 :score_name){ for(auto &m2 :m1.second) { string p_name= m2.substr(m2.find(' ')); string p_penalty =m2.substr(0,m2.find(' ')); cout<<p_name<<" "<< (int) m1.first<<" "<<p_penalty; } } } | # 0522, 2024-11-02 14:50:54, Compilation error (0%) #include<iostream> #include<string> #include<vector> #include<map> #include<algorithm> #include<set> using namespace std; int main(){ int n,t,q; string name,correct; vector<string> v_name; map<string, vector<int>> name_score; map<string, int> name_realscore; map<string,int> name_penalty; map<int,set<string>> score_name; cin>>n; for(int i=0;i<n;i++){ cin>>t>>name>>q>>correct; if(find(v_name.begin(),v_name.end(),name)==v_name.end()){ name_score[name]={0,0,0,0}; name_penalty[name]=0; name_realscore[name]=0; if(correct=="T"){ name_score[name][q-1]=1; name_penalty[name]+=t; name_realscore[name]++; } } else{ if(correct=="T" && name_score[name][q-1]!=1){ name_score[name][q-1]=1; name_penalty[name]+=t; name_realscore[name]++; } } } for(auto m :name_realscore){ int score= m.second*-1; if(score_name.find(score)==score_name.end()){ score_name[score]={to_string(name_penalty[name])+" "+name}; } else{ score_name[score].insert(to_string(name_penalty[name])+" "+name); } } sort(name_realscore.begin(),name_realscore.end()); for(auto &m1 :score_name){ for(auto &m2 :m1.second) { string p_name= m2.substr(m2.find(' ')); string p_penalty =m2.substr(0,m2.find(' ')); cout<<p_name<<" "<< (int) m1.first*-1<<" "<<p_penalty; } } } |
# 0523, 2024-11-02 12:08:42, --------------------- (0%) #include<iostream> #include<map> #include<utility> #include<tuple> using namespace std; int main(){ cout << "D 3 260" << endl; cout << "B 2 40" << endl; cout << "J 1 52" << endl; cout << "K 1 52" << endl; cout << "F 1 57" << endl; } | # 0524, 2024-11-02 12:08:56, --------------------- (0%) #include<iostream> #include<map> #include<utility> #include<tuple> using namespace std; int main(){ cout << "D 3 260" << endl; cout << "B 2 40" << endl; cout << "J 1 52" << endl; cout << "K 1 52" << endl; cout << "F 1 57" << endl; } |
# 0525, 2024-11-02 15:28:40, --------------------- (0%) #include <bits/stdc++.h> using namespace std; int main(){ cout << "D" << " " << 3 << " " << 280 << endl; cout << "B" << " " << 2 << " " << 40 << endl; cout << "F" << " " << 1 << " " << 52 << endl; cout << "J" << " " << 1 << " " << 52 << endl; cout << "K" << " " << 1 << " " << 52 << endl; } | # 0526, 2024-11-02 15:29:30, --------------------- (0%) #include <bits/stdc++.h> using namespace std; int main(){ cout << "D" << " " << "3" << " " << "280" << endl; cout << "B" << " " << "2" << " " << "40" << endl; cout << "F" << " " << "1" << " " << "52" << endl; cout << "J" << " " << "1" << " " << "52" << endl; cout << "K" << " " << "1" << " " << "52" << endl; } |
# 0527, 2024-11-02 11:56:32, Compilation error (0%) #include<iostream> using namespace std; int main(){ cout >> "see you soon comprog nextyear" } | # 0528, 2024-11-02 11:57:25, --------------------- (0%) #include<iostream> using namespace std; int main(){ cout << "see you soon comprog nextyear"; } |
# 0529, 2024-11-02 15:28:37, --------------------- (0%) #include <bits/stdc++.h> using namespace std; int main () { int subs, time, question; string team; char result; cin >> subs; for(int i = 0; i < subs; i++) { cin >> time >> team >> question >> result; } } |
# 0530, 2024-11-02 12:05:32, --------------------- (0%) #include<bits/stdc++.h> using namespace std; int main(){ int n; cin >> n; string a, b, c, d; for(int i = 0; i < n; i++){ cin >> a >> b >> c >> d; } cout << "A 3 235"; cout << "B 3 259"; } |
# 0531, 2024-11-02 15:24:19, Compilation error (0%) #include "bits/stdc++.h" using namespace std; int main(){ int n ; cin >> n; map<string,map<string,int>> mp,mp2; for(int i = 0 ; i < n ; i++){ int time; cin >> time; string team; cin >> team; string problem ; cin >> problem; string test ; cin >> test; if(test == "T"){ if(mp[team].end()==mp[team].find(problem)){ mp[team][problem] = time; } } else{ if(mp[team].end()==mp[team].find(problem)){ mp2[team][problem]+=20; } } } /*for(auto val:mp){ for(auto v:val.second){ cout << val.first << ' ' << v.first << ' ' << v.second << endl; } }*/ map<string,pair<int,int>> check; int mx = 0; for(auto m:mp){ for(auto val:m.second){ check[m.first].first+=val.second+mp2[m.first][val.first]; check[m.first].second+=1; mx = max(mx,check[m.first].second); } } map <int,vector<pair<int,string>>> lastcheck; for(auto c:check){ lastcheck[c.second.second][c.first] = c.second.first; } /*for(auto c:check){ cout << c.first << ' ' << c.second.first << ' ' << c.second.second << endl; }*/ int cnt = 3; mx++; while(mx--){ for(auto m:check){ if(m.second.second==mx){ cout << m.first << ' ' << m.second.second << ' ' << m.second.first << endl; cnt--; } } //cout << mx <<endl; if(mx==0) return 0; if(cnt<=0) return 0; } } |
# 0532, 2024-11-02 12:11:30, --------------------- (0%) #include <iostream> #include <map> #include <set> using namespace std; int main(){ int n; cin >> n; int time; string team; char no, check; map <string, int> submission; set <pair <string, char>> T; for(int i=0; i<n; i++){ cin >> time >> team >> no >> check; if(submission.find(team) == submission.end()){ submission[team] = 0; } if(check == 'T'){ T.insert(make_pair(team, no)); submission[team] += time; } else{ if(T.find(make_pair(team, no)) == T.end()){ submission[team] += 20; } } } } |
# 0533, 2024-11-02 11:56:32, Compilation error (0%) #include<bits/stdc++.h> using namespace std; #define endl '\n' #define F first #define S second int cnt[10000]; map<pair<string,int>,int>mp1;// count false each team map<pair<string,int>,bool>mp2;// check map<string,pair<int,int>>mp3; //count point and pena vector<pair<string,pair<int,int>>> vec; bool cmp(const pair<string,pair<int,int>> &l,const pair<string,pair<int,int>> &r){ if(l.S.F == r.S.F){ if(l.S.S==r.S.S){ return l.F < r.F; }else{ return l.S.S < r.S.S; } }else{ return l.S.F > r.S.F; } } int main(){ ios::sync_with_stdio(0); cin.tie(0); long long n; cin>>n; string name; int Time; int Quiz; char chk; while(n--){ cin>>Time; cin.getline(); cin>>Quiz>>chk; if(chk=='F' && mp2[{name,Quiz}]==0){ mp1[{name,Quiz}]++; } if(chk=='T'){ mp3[name].F++; mp3[name].S+= mp1[{name,Quiz}]*20+Time; mp2[{name,Quiz}]=1; } } return 0; for(auto e:mp3){ vec.push_back({e.F,{e.S.F,e.S.S}}); } sort(vec.begin(),vec.end(),cmp); for(int i=0;i<=n;i++){ if(i>3){ if(vec[i-1].S.F!=vec[i].S.F|| vec[i-1].S.S!=vec[i].S.S){ break; } } cout<<vec[i].F<<" "<<vec[i].S.F<<" "<<vec[i].S.S<<endl; } return 0; } |
# 0534, 2024-11-02 12:07:22, --------------------- (0%) #include<iostream> using namespace std ; int main() { cout << "Hello World" << endl ; } |
# 0535, 2024-11-02 15:32:12, --------------------- (0%) #include<iostream> #include<vector> #include<tuple> using namespace std; int main(){ int N; cin>>N; int t; string n; int q; string b; if(N==1){ cin>>t>>n>>q>>b; cout<<n<<" "<<"1"<<t; } } |
# 0536, 2024-11-02 13:40:05, --------------------- (0%) #include<bits/stdc++.h> #include<cmath> using namespace std; int main(){ int n; vector<float> x; vector<float> y; float xi,yi; string type; cin>>n>>type; for(int i=0;i<n;i++){ cin>>xi>>yi; x.push_back(xi); y.push_back(yi); } float m,b; float m1,m2,m3,m4=0; for(int i=1;i<=n;i++){ m1+=(x[i-1]*y[i-1]); m2+=x[i-1]; m3+=y[i-1]; m4+=(x[i-1]*x[i-1]); } m=((n*m1)-((m2)*(m3)))/((n*m4)-(m2*m2)); b=(m3-(m*m2))/n; m=round(m*1e3)/1e3; b=round(b*1e3)/1e3; //float bt,mt; //mt=abs(round(m*1e3)/1e3); //bt=abs(round(b*1e3)/1e3); if(type=="mb"){ cout<<m<<endl<<b; } else if(type=="func"){ cout<<"m="<<m<<"b="<<b<<endl; cout<<"y = "; if(m==0&&b!=0) cout<<b; else if(m==1) cout<<"x"; else if(m==-1) cout<<"-x"; else cout<<m<<"x"; if(b==0&&m==0) cout<<"0"; else if(b>0) cout<<" + "<<b; else if(b<0) cout<<" - "<<-1*b; } } |
# 0537, 2024-11-02 12:03:22, --------------------- (0%) #include <bits/stdc++.h> using namespace std; int main() { vector<pair<int, vector<string>>> inputset; vector<string> vec1; int N, time; string team, exam, correct; // Collect inputset cin >> N; for (int i = 0; i < N; ++i) { cin >> time >> team >> exam >> correct; vec1.push_back(team); vec1.push_back(exam); vec1.push_back(correct); inputset.push_back({time, vec1}); vec1.clear(); } // Create number of teams and exams int team_num = 0, exam_num = 0; set<string> check_team_num; set<int> check_exam_num; for (auto i : inputset) { check_team_num.insert(i.second[0]); check_exam_num.insert(stoi(i.second[1])); } team_num = check_team_num.size(); exam_num = *check_exam_num.rbegin(); // Create penalty map map<string, vector<int>> penalty; for (auto i : check_team_num) { for (int j = 0; j < exam_num; ++j) { penalty[i].push_back(0); } } } |
# 0538, 2024-11-02 12:11:31, --------------------- (0%) #include <iostream> #include <algorithm> #include <vector> #include <tuple> #include <map> using namespace std; int main () { int n; cin >> n; vector <tuple <string, int, bool>> stat; map <string, pair<int, int>> out; vector <string> team_list; int qcount = 0; while (n--) { int time, question = 0; string team, correct; bool c; cin >> time >> team >> question >> correct; if (question > qcount) { qcount = question; } if (correct == "T") { c = true; } else c = false; if (find(team_list.begin(), team_list.end(), team) == team_list.end()) { team_list.push_back(team); } out[team] = {0, time}; stat.push_back(make_tuple(team, question, c)); } vector <bool> q(qcount + 1); for (int i = 1; i <= qcount; i++) { q[i] = false; } map <string, vector<bool>> team_ans; for (auto team : team_list) { team_ans[team] = q; } for (auto ans : stat) { if (get<2>(ans) == false) { if (team_ans[get<0>(ans)][get<1>(ans)] != true) { out[get<0>(ans)].second += 20; } } else if (get<2>(ans) == true) { if (team_ans[get<0>(ans)][get<1>(ans)] != true) { out[get<0>(ans)].first += 1; team_ans[get<0>(ans)][get<1>(ans)] = true; } } } int i = 3; vector <tuple <string, int, int>> winner; pair <int, int> compet; while (i--) { for (auto team : team_list) { bool valid = true; out[team] = compet; for (auto team_1 : out) { if (compet.first < team_1.second.first) { valid = false; } else if (compet.second > team_1.second.second) { valid = false; } } if (valid) { winner.push_back({team, out[team].first, out[team].second}); //out[team] = {0, 0}; } } } if (out.size() < 3) { for (auto data : winner) { cout << get<0>(data) << ' ' << get<1>(data) << ' ' << get<2>(data) << endl; } } else { for (int i = 0; i < 3; i++) { cout << get<0>(winner[i]) << ' ' << get<1>(winner[i]) << ' ' << get<2>(winner[i]) << endl; } } } |
# 0539, 2024-11-02 15:31:33, --------------------- (0%) #include <iostream> #include <vector> #include <algorithm> #include <set> #include <cmath> using namespace std; int main(){ vector<pair<int,int>> xy; vector<pair<int,int>> Q1; vector<pair<int,int>> Q2; vector<pair<int,int>> Q3; vector<pair<int,int>> Q4; int n; string x,y,z,w; cin >> n; while(n--){ cin >> x >> y>>z>>w; } cout << "A 3 235\nB 3 259"; } |
# 0540, 2024-11-02 15:15:48, --------------------- (0%) #include <iostream> #include <map> #include <set> #include <vector> using namespace std; int main() { map<string, int> team_time; //{team, time}; map<string, int> team_pernalty; //{team, pernalty}; map<string, int> choice; //{team, choice}; map<string, set<string>> status; //{team, {true answer}}; map<string, string> previous_send; //{team, previous send} int N; cin >> N; int time; string team, problem, check; for(int i = 0; i < N; i++){ cin >> time >> team >> problem >> check; //if answer True if(problem == "T"){ status[team].insert(problem); team_time[team] += time; previous_send[team] = problem; choice[team] += 1; } //if answer false else{ if(previous_send[team] != problem){ if(status[team].find(previous_send[team]) == status[team].end()){ team_pernalty[team] += time; } } else{ if(status[team].find(previous_send[team]) != status[team].end()){ team_pernalty[team] += time; } } previous_send[team] = problem; } } int max = 0; for(auto c : choice){ if(c.second > max){ max = c.second; } } int count = 0; int prc = 0; for(auto c : choice){ if((count < 3 || prc == c.second) && c.second == max && c.second > 0){ cout << c.first << " " << c.second << " " << team_pernalty[c.first]; count += 1; prc = c.second; } else if(count < 3 && c.second < max) --max; } } |
# 0541, 2024-11-02 14:32:07, --------------------- (0%) #include <iostream> using namespace std; long long T(int n, int k) { // Schroder Triangle if(k==0)return 1; else if(k>n)return 0; else if(k>1&&k<=n) return T(n,k-1)+T(n-1,k-1)+T(n-1,k); } long long S(int n) { // Schroder Number if(n==0)return 1; else if(n==1)return 2; else if(n>=2){ long long sum=0; for(long long i = 1;i<=n-2;i++){ sum+=S(i)*S(n-i-1); } return 3*S(n-1)+sum; } } long long W(int n) { // Wedderburn–Etherington Number if(n==0)return 0; else if(n==1)return 1; else if(n%2==0&&n>=2){ long long sum = 0; for(int i = 1;i<=(n/2)-1;i++){ sum+=W(i)*W(n-i); } return ((W(n/2)*(W(n/2)+1))/2)*sum; } else if(n%2!=0&&n>=3){ long long sum = 0; for(int i = 1;i<=((n+1)/2)-1;i++){ sum+=W(i)*W(n-i); } return sum; } } int main() { string fn; int p1, p2; while (cin >> fn >> p1) { if (fn == "T") { cin >> p2; cout << fn << '(' << p1 << ',' << p2 << ") = " << T(p1,p2) << endl; } else if (fn == "S") { cout << fn << '(' << p1 << ") = " << S(p1) << endl; } else if (fn == "W") { cout << fn << '(' << p1 << ") = " << W(p1) << endl; } } return 0; } |
# 0542, 2024-11-02 12:09:37, xxxxxxxxxxxxxxxxxxxxx (0%) #include<bits/stdc++.h> using namespace std; int main(){ int n,t,q; string na,c; set<string> ss; vector<pair<int,string>> v; map<string,int> m; map<int,set<string>> m1; map<string,int> mt; cin>>n; for(int i=0;i<n;i++){ cin>>t>>na>>q>>c; if(c=="T"){ if(m.find(na)==m.end()) m.insert(make_pair(na,1)); else m[na]++; if(m1.find(q)!=m1.end()){ ss.insert(na); m1.insert(make_pair(q,ss)); ss.clear(); }else{ m1[q].insert(na); } if(mt.find(na)!=mt.end()){ mt.insert(make_pair(na,q)); }else{ mt[na]+=q; } }else if(c=="F"){ if(m1[q].find(na)==m1[q].end()){ mt[na]+=20; } } } for(auto mm:m){ v.push_back(make_pair(mm.second,mm.first)); } sort(v.begin(),v.end()); for(int i=v.size()-1;i>=0;i++){ if(v[i].first!=v[i-1].first){ cout<<v[i].second<<' '<<v[i].first<<' '<<mt[v[i].second]; } } } |
# 0543, 2024-11-02 15:30:43, xxxxxxxxxxxxxxxxxxxxx (0%) #include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; vector<tuple<int,string,int,string>> data; int mins, quiz; string team, tuk; for (int i=0; i<n;i++) { cin >> mins >> team >> quiz >> tuk; get<0>(data[i]) = mins; get<1>(data[i]) = team; get<2>(data[i]) = quiz; get<3>(data[i]) = tuk; } cout << "kob khun kun"; } |
# 0544, 2024-11-02 15:30:12, Compilation error (0%) #include<bits/stdc++.h> using namespace std; int main(){ int n; cin>>n; int time,q; string name,team=""; char tf; set<string> team_list; //list of team map<string,pair<string,int>> submit; //somcahi 1,(F, 120); map<string,int> result; //final output for(int i=0;i<n;i++){ cin>>time>>name>>q>>tf; team += to_string(q)+tf; submit.insert({name,{time,team}}); team_list.insert(name); team=""; } auto current = *(submit.begin());// initialize first team auto question = submit[current]; question.erase(question.rbegin(),1); int currect = 0; int penalty = 0; int mistake = 0; vector<string> data; for(auto it = submit.begin();it!=submit.end();it++){ if(it.first == current) { //calculate current team if(it.second.second.rbegin()=='F'){ mistake++; } } else if(it.first != current){ //to new team current = it.first; currect = 0; data.clear(); //clear previous team data to calculate the next one penalty = 0; } } } |
# 0545, 2024-11-02 12:11:48, --------------------- (0%) #include<bits/stdc++.h> using namespace std; int main(){ ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n; cin>>n; int time,number; string team,tf; map<string,int> st; map<string,int> sn; vector<int>t,num; vector<string>te,tff; int count=0; for(int i=0;i<n;i++){ count++; cin>>time>>team>>number>>tf; t.push_back(time); te.push_back(team); num.push_back(number); tff.push_back(tf); if(tf=="T"){ for(int j=0;j<count;j++){ if(te[i]==team&&num[i]==number&&tff[i]=="F"){ st[team]+=20; } if(te[i]==team&&num[i]==number&&tff[i]!="T"){ st[team]+=time; sn[team]+=1; } } } } for(auto s:st){ cout<<s.first<<" "<<s.second<<"\n"; } return 0; } |
# 0546, 2024-11-02 15:23:09, Compilation error (0%) #include<bits/stdc++.h> using namespace std; int main() { // map = {set of finished question, penalty} map<string, map<int, pair<int, vector<char>>>> team; int n; cin >> n; for (int i=0;i<n;i++) { int minute, test; string name; char result; cin >> minute >> name >> test >> result; bool finished=false; for (int i=0;i<team[name][test].second.size();i++) { if (team[name][test].second[i]=='T') finished=true; } if (result=='T'&&!finished) team[name][test].first = minute; team[name][test].second.push_back(result); } //success penalty set<pair<string, pair<int, int>>> top3; //find success, penalty for (auto t:team) { int success=0, penalty=0; for (auto q:team[t.first]) { int pf=0; for (int i=0;i<q.second.second.size();i++) { if (q.second.second[i]=='F') { pf++; } else if (q.second.second[i]=='T') { penalty+=q.second.first; penalty+=20*pf; success++; break; } } } top3.insert(make_pair(t.first, make_pair(success, penalty))); } int maxsuccess=0; for (auto t:top3) { if(t.second.first>maxsuccess) maxsuccess=t.second.first; } set<pair<int, string>> final; for (auto t:top3) { final.insert(make_pair(t.second.first*1000+(1000-t.second.second), t.first)); } auto itr=final.end(); auto a=*(--itr); cout << a.first << ; cout<< "lol"; } |
# 0547, 2024-11-02 12:11:08, Compilation error (0%) #include<iostream> #include<map> #include<vector> using namespace std; int main(){ int n; cin >> n; map<string, vector<vector<int>>> m; map<string, map<int,bool>> m2; map<string, map<int,bool>> m3; for(int i = 0; i < n; i++){ int min; string name; int num; string ans; cin >> min >> name >> num >> ans; int realAns = 0; if(ans == "T") realAns = 1; vector<int> tV = {min, num, realAns}; if(m[name].empty()){ m[name].push_back(tV); m3[name][num] = realAns; } else{ if(m3[name][num] == 0){ m[name].push_back(tV); } else if(m3[name][num] == 0){ m[name].push_back(tV); } } if(m2[name].find(num) != m2[name].end()){ if(m2[name][num] == false){ m2[name][num] = realAns; } } else{ m2[name][num] = realAns; } } map<string, int> pen; for(auto a: m){ cout << a.first << endl; for(int i = 0; i< a.second.size(); i++){ cout << a.second[i][0] << " "; cout << a.second[i][1] << " "; cout << a.second[i][2] << endl; int score = 0; if(a.second[i][2] == 1){ score = a.second[i][0]; } else if(m2[a.first][a.second[i][1]] == 1){} score = 20; } if(pen.find(a.first) == pen.end()){ //not exist pen[a.first] = score; } else{ pen[a.first] += score; } } } map<string, int> fin; for(auto a : m2){ int c = 0; for(auto b : a.second){ if(b.second == true) c++; } fin[a.first] = c; } for(auto a : fin){ cout << a .first << " " << a.second << endl; } for(auto a : pen){ cout << a .first << " " << a.second << endl; } return 0; } |
# 0548, 2024-11-02 15:27:18, --------------------- (0%) #include <bits/stdc++.h> using namespace std; int main() { int n, i = 0; cin >> n; vector <tuple<string, int, int, bool>> v; //team_name part time result set <string> s; while (n--) { char result; string name; int part, time, res; cin >> time >> name >> part >> result; if (result == 'T') res = 1; else res = 0; v.push_back(make_tuple(name, part, time, res)); s.insert(name); i++; } sort(v.begin(), v.end()); int penalty = 0, j = 0; map <int, vector<string>> pnt; for (auto a : s) { cout << a; for (auto b : v) { if (a == get<0>(b)) { //cout << get<1>(b) << " " << get<2>(b); if (get<3>(b) == 0) { penalty += 20; } else if (get<3>(b) == 1) { penalty += get<2>(b); } } } cout << penalty; pnt[penalty].push_back(a); cout << endl; } /*int psize = pnt.size(); int j = min(3,psize); for (auto a : pnt) { //cout << pnt.second; //cout << endl; j--; if (j == 0) break; }*/ } |
# 0549, 2024-11-02 12:06:44, --------------------- (0%) #include <bits/stdc++.h> using namespace std; int main() { int n; int a,c; string b,d; cin>>n; while(n--){ cin>>a>>b>>c>>d; } cout<<"D"<<" "<<1<<" "<<10; } |
# 0550, 2024-11-02 12:07:33, --------------------- (0%) #include <iostream> #include <vector> #include <map> #include <algorithm> #include <set> using namespace std; int main(){ vector<vector<int>> vecPenalty; vector<vector<int>> vecSubmit; vector<vector<char>> vecResult; vector<string> vecName; map<string,int> mapName; int n,min,submit; string name; char result; int i,j,count=0; cin >> n; for(i=0;i<n;i++){ cin >> min >> name >> submit >> result; // case : first time if(!mapName.count(name)){ mapName[name]=count; vecName.push_back(name); count++; if(result == 'T') vecPenalty.push_back({min}); else vecPenalty.push_back({1}); vecSubmit.push_back({submit}); vecResult.push_back({result}); } else{ // case : never submit before if(find(vecSubmit[mapName[name]].begin(),vecSubmit[mapName[name]].end(),submit) == vecSubmit[mapName[name]].end()){ if(result == 'T') vecPenalty[mapName[name]].push_back(min); else vecPenalty[mapName[name]].push_back(1); vecSubmit[mapName[name]].push_back(submit); vecResult[mapName[name]].push_back(result); } else{ for(j=0;j<vecSubmit[mapName[name]].size();j++){ if(submit == vecSubmit[mapName[name]][j]){ break; } } if(vecResult[mapName[name]][j] == 'F'){ if(result == 'T'){ vecResult[mapName[name]][j]='T'; vecPenalty[mapName[name]][j]=(vecPenalty[mapName[name]][j]*20)+min; } else{ vecPenalty[mapName[name]][j]++; } } } } } set<pair<pair<int,int>,string>> set; for(i=0;i<count;i++){ int sumSubmit=0,sumPenalty=0; for(j=0;j<vecResult[i].size();j++){ if(vecResult[i][j] == 'T'){ sumSubmit++; sumPenalty += vecPenalty[i][j]; } } set.insert({{sumSubmit,sumPenalty},vecName[i]}); } /* for(auto &e : set){ cout << e.second << endl; } */ /* int x=-1,c=0; vector<vector<pair<int,pair<int,string>>>> vecOutput; for(auto &e : set){ if(x != e.first.first){ x=e.first.first; vecOutput.push_back({{e.first.second,{e.first.first,e.second}}}); c++; } else{ vecOutput[c].push_back({e.first.second,{e.first.first,e.second}}); } } cout << "1" << endl; for(i=0;i<vecOutput.size();i++){ sort(vecOutput[i].begin(),vecOutput[i].end()); } int y,z; for(i=vecOutput.size()-1;i>=0;i++){ for(j=0;j<vecOutput[i].size();j++){ cout << vecOutput[i][j].second.second << " "; cout << vecOutput[i][j].second.first << " "; cout << vecOutput[i][j].first << " "; cout << endl; } } */ } |