I don't know if I'm completely wrong, but reading the editorial for the Hacked Exam problem, maybe they overcomplicated the solutions for test sets 1 and 2. I just figured that, with T/F questions, adding a second student with a lower score doesn't change the expected value. So, the answer is to just replicate the best student (or the worst one inverted, for that matter). Does it make sense or I just got lucky to have passed with this idea? Thanks for any help! And please follow the code below.
string inv(string a) {
string r;
trav(x, a) {
if(x == 'T') r += 'F';
else r += 'T';
}
return r;
}
void run_test() {
int n, q; read(n, q);
int mx = 0;
string ans;
rep(k, n) {
string a; read(a);
int s; read(s);
if(s <= q / 2) a = inv(a), s = q-s;
if(s > mx) {
mx = s;
ans = a;
}
}
cout << ans << " " << mx << "/1" << endl;
}