zoukankan      html  css  js  c++  java
  • codevs 1138

    题意:略

    解法:看代码(这是c++)

    #include<stdio.h>
    #include<algorithm>
    #define L long long
    #define N 200010
    using namespace std;
    int w[N],v[N],l[N],r[N],n,m;
    L s1[N],s2[N],ans=1ll<<62,s;
    bool ok(int x,L sum=0){
    	for(int i=1;i<=n;++i)
    		s1[i]=s1[i-1]+(w[i]>=x),
    		s2[i]=s2[i-1]+(w[i]>=x)*v[i];
    	for(int i=1;i<=m;++i)
    		sum+=(s2[r[i]]-s2[l[i]-1])*(s1[r[i]]-s1[l[i]-1]);
    	ans=min(ans,abs(sum-s));
    	if(sum<s) return 1;
    	else return 0;
    }
    int main(){
    	scanf("%d%d%lld",&n,&m,&s);
    	for(int i=1;i<=n;++i) scanf("%d%d",w+i,v+i);
    	for(int i=1;i<=m;++i) scanf("%d%d",l+i,r+i);
    	int _l=0,_r=1<<30,_m;
    	while(_l<=_r){
    		_m=(_l+_r)>>1;
    		if(ok(_m)) _r=_m-1;
    		else _l=_m+1;
    	}
    	printf("%lld
    ",ans);
    }


  • 相关阅读:
    变量1
    PHP 函数
    发送post请求
    XXE
    CSRF
    Html基础
    暴力破解
    Brup sute
    XSS
    URL 传参转义 (特殊符号转义)
  • 原文地址:https://www.cnblogs.com/Extended-Ash/p/9477377.html
Copyright © 2011-2022 走看看