代码求diao 30分(已O2,8WA,6TLE)
#include <bits/stdc++.h>
using namespace std;
long long n,m,s,w[200001],v[200001],a[200001],b[200001],y[200001],ans;
long long check(long long x)
{
long long sum=0;
memset(y,0,sizeof(y));
for(long long i=1;i<=n;i++)
{
long long cnt=0,tot=0;
for(long long j=a[i];j<=b[i];j++)
if(w[j]>=x)
cnt++,tot+=v[j];
y[i]=cnt*tot;
sum+=y[i];
}
return sum;
}
int main()
{
cin>>n>>m>>s;
for(long long i=1;i<=n;i++)
cin>>w[i]>>v[i];
for(long long i=1;i<=m;i++)
cin>>a[i]>>b[i];
long long l=0,r=s;
while(l<=r)
{
long long mid=(l+r)/2;
ans=check(mid);
if(ans>s)
l=mid+1;
else
r=mid-1;
}
cout<<abs(s-ans);
return 0;
}