样例没过但AC了是什么情况
查看原帖
样例没过但AC了是什么情况
411727
Kingna楼主2022/5/18 16:55
#include <bits/stdc++.h>
using namespace std;

const int N = 2e5 + 5;
int n, l, q;
double v, a[N], sum[N];

bool cmp(int x, int y) { return x > y; }

int main() {
	cin >> n >> l >> v;
	for (int i = 1; i <= n; i++) {
		scanf("%lf", &a[i]);
	}
	sort(a + 1, a + n + 1, cmp);
	for (int i = 1; i <= n; i++) a[i] = a[i] / v * 1.0, sum[i] = sum[i - 1] + a[i];
	cin >> q;
	double t = l / v * 1.0;
	while (q--) {
		double ti;
		cin >> ti;
		if (t > ti) {
			puts("0");	
			continue;
		}
		ti -= t;
		//cout << "ti=" << ti << endl << "sumn" << sum[n] << endl;;
		if (ti >= sum[n]) {
			puts("-1");
			continue;
		}
		int l = 1, r = n;
		while (l < r) {
			int mid = l + r >> 1;
			if (sum[mid] >= ti) r = mid;
			else l = mid + 1;
		}
		cout << l << endl;
	}
	
}

代码如上,代码输出和样例不符。(本地和IDE都测了)

2022/5/18 16:55
加载中...