悬二棺
  • 板块灌水区
  • 楼主_wangleting123_
  • 当前回复14
  • 已保存回复14
  • 发布时间2024/4/30 18:57
  • 上次更新2024/4/30 21:01:25
查看原帖
悬二棺
1040559
_wangleting123_楼主2024/4/30 18:57
#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;
	}
}

所以为什么只能输入一部分数据?

2024/4/30 18:57
加载中...