求助:本地AC洛谷95

P1314 [NOIP2011 提高组] 聪明的质监员

褚明阳 @ 2021-10-21 19:37:55

#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
long long cnt[200001][2];
int l[200001],r[200001],w[200001],v[200001];
int main()
{
    int n,m,L,R,mid;
    long long s,res,ans=__LONG_LONG_MAX__;
    scanf("%d%d%lld",&n,&m,&s);
    L=0;
    for(int i=1;i<=n;i++)
    {
        scanf("%d%d",w+i,v+i);
        R=max(R,w[i]);
    }
    for(int i=1;i<=m;i++)
        scanf("%d%d",l+i,r+i);
    while(L<R)
    {
        res=0;
        mid=(L+R)/2;
        for(int i=1;i<=n;i++)
            if(w[i]>=mid)
            {
                cnt[i][0]=cnt[i-1][0]+1;
                cnt[i][1]=cnt[i-1][1]+v[i];
            }
            else
            {
                cnt[i][0]=cnt[i-1][0];
                cnt[i][1]=cnt[i-1][1];
            }
        for(int i=1;i<=m;i++)
            res+=(cnt[r[i]][0]-cnt[l[i]-1][0])*(cnt[r[i]][1]-cnt[l[i]-1][1]);
        ans=min(ans,abs(res-s));
        if(res<s)
            R=mid;
        else
            L=mid+1;
    }
    printf("%lld",ans);
}

by lichenfan @ 2021-10-21 19:40:00

您的本地AC是指?


by 褚明阳 @ 2021-10-21 19:46:11

测试下载WA的数据过了

开O2洛谷AC 可神奇了


|