#include <bits/stdc++.h>
using namespace std;
int ans, n, t, m, a[1000001], b[1000001], x;
int main() {
cin >> t;
for(int k=1;k<=t;k++)
{
memset(a, 0, sizeof(a));
memset(b, 0, sizeof(b));
n = 0;
t = 0;
m = 0;
ans = 0;
x = 0;
cin >> n >> t >> m;
for (int i = 1; i <= n; i++)
cin >> a[i];
for (int i = 1; i <= m; i++) {
cin >> x;
a[x] -= 2;
}
for (int i = 1; i <= n; ++i) {
a[i] = 1 - a[i];
}
for (int i = 1; i <= n; ++i) {
for (int j = 1; j < n; ++j) {
if (a[j] > a[j + 1])
swap(a[j], a[j + 1]);
}
}
for (int i = 1; i <= n; ++i) {
if (a[i] <= 0) {
ans++;
} else {
if (t >= a[i]) {
t -= a[i];
ans++;
} else break;
}
}
cout << ans << endl;
}
}
所以为什么只能输入一部分数据?