0pts求调
查看原帖
0pts求调
1063789
RealDream楼主2024/11/6 17:50
#include <bits/stdc++.h>

using namespace std;

int main() {
	int n, t, sum = 0;
	scanf("%d", &n);
	vector<pair<int, int>> arr;
	vector<int> point(n + 5), Less(n + 5);
	arr.reserve(n + 5);
	for (int i = 0; i < n; i++) {
		int a, b;
		scanf("%d%d", &a, &b);
		point[i] = a / 100;
		sum += point[i] * b;
		Less[i] = point[i] * (b - a);
		arr.push_back(make_pair(a, b));
	}
	scanf("%d", &t);
	if (sum > t) {
		puts("Already Au.");
		return 0;
	}
	for (int i = 0; i < n; i++) {
		if (arr[i].first == arr[i].second) {
			puts("NaN");
		} else {
			if (t - Less[i] < sum) {
				puts("NaN");
				continue;
			}
			for (int j = 1; j <= Less[i]; j++) {
				if (sum + point[i] * j >= t) {
					printf("%d\n", j);
					break;
				}
			}
		}
	}
	return 0;
}

样例1只输出了两行NaN就结束了

2024/11/6 17:50
加载中...