表象没问题,实则全WA
查看原帖
表象没问题,实则全WA
1043209
lmayyds楼主2023/8/10 11:47
#include<bits/stdc++.h>
using namespace std;
long long n,m,s,w,y;
int a[200010],b[200010],c[200010],d[200010],suml[200010],slq=0,sumz[200010],szq=0,ub[200010];
long long x=0;
int check(int p){
    suml[0]=0;
    sumz[0]=0;
    x=0;
    int i;
    slq=0;
    szq=0;
    for(i=1;i<=n;++i){
        suml[i]=suml[i-1];
        sumz[i]=sumz[i-1];
        if(a[i]>=p)++suml[i],sumz[i]+=b[i];
    }
    for(i=1;i<=m;++i){
        ub[i]=(suml[d[i]]-suml[c[i-1]])*(sumz[d[i]]-sumz[c[i-1]]);
    }
    for(i=1;i<=m;++i){
        x+=ub[i];
    }
    return x>=s;
}
int main(){
    cin>>n>>m>>s;
    for(int i=1;i<=n;++i)cin>>a[i]>>b[i];
    for(int i=1;i<=m;++i)cin>>c[i]>>d[i];
    int w,l=0,r=n;
    while(l==r){
    w=(l+r)/2;
        if(check(w))l=w;
        else r=w;
    }
    printf("%d",w);
    return 0;
}

咋办,有大佬支招吗???

2023/8/10 11:47
加载中...