terminate called after throwing an instance of 'std::logic_error' what(): basic_string::_M_construct null not valid
#include<bits/stdc++.h>
using namespace std;
int main() {
int n;
cin >> n;
int mx = 0;
string mxs = 0;
int c = 0;
for (int i=1;i<=n;i++) {
string name;
int qc,bc,lun;
char gan,xi;
int fen;
cin >> name >> qc >> bc >> gan >> xi >> lun;
if (qc > 80 && lun >= 1) {
fen += 8000;
}
if (qc > 85 && bc > 80) {
fen += 4000;
}
if (qc > 90) {
fen += 2000;
}
if (qc > 85 && xi == 'Y') {
fen += 1000;
}
if (bc > 80 && gan == 'Y') {
fen += 850;
}
c += fen;
if (fen > mx) {
mx = fen;
mxs = name;
}
}
cout << mxs << endl << mx << endl << c;
}