rt,
::::info[代码] #include<bits/stdc++.h> #define int long long #define x first #define y second #define rep(i,l,r) for(int i=l;i<=r;i++) using namespace std; typedef pair<int,int> pii; int n,m,S,a[1000005],b[1000005],l[1000005],r[1000005],sum1[1000005],sum2[1000005]; int f(int x){ rep(i,1,n) sum1[i]=sum1[i-1]+(a[i]>=x),sum2[i]=sum2[i-1]+(a[i]>=x)b[i]; int sum=0; rep(i,1,m) sum+=(sum1[r[i]]-sum1[l[i]-1])(sum2[r[i]]-sum2[l[i]-1]); return abs(sum-S); } signed main(){ cin>>n>>m>>S;int L=1e18,R=-1; rep(i,1,n) cin>>a[i]>>b[i],L=min(L,a[i]),R=max(R,a[i]); rep(i,1,m) cin>>l[i]>>r[i]; while(l+2<r){ int u=(R-L)/3,lmid=L+u,rmid=R-u,fl=f(lmid),fr=f(rmid); if(fl>fr) R=rmid; else if(fl<fr) L=lmid; else L=lmid,R=rmid; } int mi=1e18; rep(i,L,R) mi=min(mi,f(i)); cout<<mi; }
::::
注意三分里这个 `while(l+2<r)`,l,r 是数组,为什么这个代码能 [AC](https://www.luogu.com.cn/record/227240304) 而不是 TLE?