求条 wa on test 2
  • 板块CF1742E Scuza
  • 楼主I_Love_DS
  • 当前回复0
  • 已保存回复0
  • 发布时间2025/1/21 19:47
  • 上次更新2025/1/21 22:01:17
查看原帖
求条 wa on test 2
1118614
I_Love_DS楼主2025/1/21 19:47
#include <bits/stdc++.h>

using namespace std;

struct node {
	int id, x;
	friend bool operator < (const node &x, const node &y) {
		return x.x == y.x ? x.id < y.id : x.x < y.x;
	}
} a[200050];
int n, q;
long long s[200050];

void solve() {
	scanf("%d%d", &n, &q);
	for (int i = 1; i <= n; i++) {
		scanf("%d", &a[i].x);
		a[i].id = i;
	}
	for (int i = 1; i <= n; i++) s[i] = s[i - 1] + a[i].x;
	sort(a + 1, a + n + 1);
	while (q--) {
		int x;
		scanf("%d", &x);
		int L = 0, R = n + 1;
		while (L + 1 < R) {
			int M = (L + R) / 2;
			if (a[M].x <= x) L = M;
			else R = M;
		}
		if (R == n + 1) printf("%lld ", s[n]);
		else printf("%lld ", s[a[R].id - 1]);
	}
	printf("\n");
}

int main() {
	int t;
	scanf("%d", &t);
	while (t--) solve();
	return 0;
}
2025/1/21 19:47
加载中...