#include<stdio.h>
#include<string.h>
#include<math.h>
#include<algorithm>
using namespace std;
long long int c[1001000];
int lowbit(int i)
{
return i&(-i);
}
void add(int i,int w)
{
while(i<1000103)
{
c[i]=c[i]+w;
i=i+lowbit(i);
}
}
long long int sum(int i)
{
long long int s=0;
while(i>0)
{
s=s+c[i];
i=i-lowbit(i);
}
return s;
}
int main()
{
long long int T,n,r,l,t,w,h,flag,f1;
long long int s,f,k,s1;
scanf("%lld",&T);
while(T--)
{
flag=0;
s1=0;
f1=0;
f=0x3f3f3f3f3f;
s=0;
memset(c,0,sizeof(c));
scanf("%lld",&r);
scanf("%lld",&n);
for(int i=0; i<n; i++)
{
scanf("%lld %lld %lld %lld",&l,&t,&w,&h);
s=s+w*h;
add(l,h);
add(l+w,-h);
}
for(int i=1;i<=r;i++)
{
k=sum(i);
s1=s1+k;
if(s1>=(s-s1))
{
if(k!=0&&f1==1)
break;
flag=i;
f1=1;
}
}
if(flag+1>=r)
printf("%lld\n",flag);
else
printf("%lld\n",flag+1);
}
return 0;
}
HihoCoder 1249(2015 Asia Beijing Regional Contest)
最新推荐文章于 2020-06-30 15:07:03 发布