Hello there! I am new to this forum and spoj, but I already was able to solve a couple of problems. Here is my code for the mentioned task. Would anybody help, please, to find a mistake?
#include <bits/stdc++.h>
using namespace std;
int main() {
int t, n, a, r, suma, sumr, sum;
cin >> t;
for (int p = 0; p < t; p++) {
cin >> n;
struct Stats {
int time;
string team;
char pr;
char st;
} data[n];
set<string> set;
for (int i = 0; i < n; i++) {
cin >> data[i].time >> data[i].team >> data[i].pr >> data[i].st;
}
for (char ch = 'A'; ch <= 'I'; ch++) {
for (int i = 0; i < n; i++) {
if (data[i].pr == ch) {
set.insert(data[i].team);
}
}
suma = sumr = sum = 0;
for (auto it = set.begin(); it != set.end(); ++it) {
a = r = 0;
for (int i = 0; i < n; i++) {
if (data[i].pr == ch) {
if (data[i].team == *it && data[i].st == 'R') r++;
else if (data[i].team == *it && data[i].st == 'A') {
a = 1;
sum += data[i].time;
break;
}
}
}
suma += a;
sumr += r;
}
if (suma == 0) cout << ch << " " << suma << "\n";
else {
cout.precision(2);
cout << ch << " " << suma << " " << fixed << (double)(suma + sumr) / suma << " " << (double) sum / suma << "\n";
}
set.clear();
}
}
system("pause");
return 0;
}
created
last reply
- 6
replies
- 906
views
- 2
users