求助,必关
查看原帖
求助,必关
1269373
somer楼主2024/10/2 22:31

WA on #1,#2,#3,#5,#7,#9,#10

#include<bits/stdc++.h>
using namespace std;
int n,m,sum[50005];
int search(int x){
	int l=1,r=n,mid=(n+1)/2;
	while(r-l>1){
		if(sum[mid]==x) return mid;
		if(sum[mid]<x) l=mid;
		else r=mid;
		mid=(l+r)/2;
	}
	return r;
}
int main(){
	sum[0]=-1;
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;i++){
		int x;
		scanf("%d",&x);
		sum[i]=sum[i-1]+x;
	}
	for(int i=1;i<=m;i++){
		int x;
		scanf("%d",&x);
		printf("%d\n",search(x));
	}
	return 0;
}

码风较差,见谅

2024/10/2 22:31
加载中...