显示原始代码
#include <bits/stdc++.h>
using namespace std;
int n, m, yifu[5], a[5], f, g;
vector<int> q, t, d, x, s;
void solve(int f, int g) {
int sum = 0;
switch (f) {
case 0: {
for (int i = q.size() - 1; i >= q.size() - 5; i--) {
sum += q[i];
}
sum += yifu[f];
if (sum > g)
cout << "Y" << endl;
else
cout << "N" << endl;
break;
}
case 1: {
for (int i = t.size() - 1; i >= t.size() - 5; i--) {
sum += t[i];
}
sum += yifu[f];
if (sum > g)
cout << "Y" << endl;
else
cout << "N" << endl;
break;
}
case 2: {
for (int i = d.size() - 1; i >= d.size() - 5; i--) {
sum += d[i];
}
sum += yifu[f];
if (sum > g)
cout << "Y" << endl;
else
cout << "N" << endl;
break;
}
case 3: {
for (int i = x.size() - 1; i >= x.size() - 5; i--) {
sum += x[i];
}
sum += yifu[f];
if (sum > g)
cout << "Y" << endl;
else
cout << "N" << endl;
break;
}
case 4: {
for (int i = s.size() - 1; i >= s.size() - 5; i--) {
sum += s[i];
}
sum += yifu[f];
if (sum > g)
cout << "Y" << endl;
else
cout << "N" << endl;
break;
}
}
}
int main() {
cin >> n >> m;
cin >> yifu[0] >> yifu[1] >> yifu[2] >> yifu[3] >> yifu[4];
while (n--) {
cin >> a[0] >> a[1] >> a[2] >> a[3] >> a[4];
q.push_back(a[0]);
t.push_back(a[1]);
d.push_back(a[2]);
x.push_back(a[3]);
s.push_back(a[4]);
}
sort(q.begin(), q.end());
sort(t.begin(), t.end());
sort(d.begin(), d.end());
sort(x.begin(), x.end());
sort(s.begin(), s.end());
while (m--) {
cin >> f >> g;
solve(f, g);
}
return 0;
}