聪明的质检员

读错题。。。。。。。。。。 

#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
const int N=200100;
int n,m,L[N],R[N];
long long S,w[N],v[N],l=99999999,r=0,sum[N],mz[N],ans=999999999999999999;
inline int judge(long long x){
	sum[0]=0;
	for(int i=1;i<=n;i++){
		if(w[i]>=x)  sum[i]=sum[i-1]+v[i],mz[i]=mz[i-1]+1;
		else sum[i]=sum[i-1],mz[i]=mz[i-1];
	}
	long long ret=0;
	for(int i=1;i<=m;i++){
		ret+=(mz[R[i]]-mz[L[i]-1])*(sum[R[i]]-sum[L[i]-1]);
	}
	ans=min(ans,abs(S-ret));
	if(ret

 

你可能感兴趣的:(编程)