第10个点T了

#pragma GCC optimize(3,"Ofast","inline")
#include<bits/stdc++.h>
using namespace std;
int n,m,a[1001],b[1001],c[1001],d[1001],e[1001],f[1001],t=1,k,k1,p=1,q=1,n1,n2,now,last,ans;
int main()
{
//	freopen("cowrace.in","r",stdin);
//	freopen("cowrace.out","w",stdout);
	cin>>n>>m;
	for(int i=1;i<=n;i++)cin>>a[i]>>b[i],e[i]=e[i-1]+b[i],k+=b[i];
	for(int i=1;i<=m;i++)cin>>c[i]>>d[i],f[i]=f[i-1]+d[i],k1+=d[i];
	while(now==0&&p<=n&&q<=m)
	{
		while(e[p]<1)p++;
		while(f[q]<1)q++;
		n1=n1+a[p];
		n2=n2+c[q];
		if(n1>n2)now=1;
		else if(n1<n2)now=-1;
		t++;
	}
	for(int i=t;i<=max(k,k1);i++)
	{
		while(e[p]<i)p++;
		while(f[q]<i)q++;
		n1=n1+a[p];
		n2=n2+c[q];
	//	cout<<n1<<" "<<n2<<" "<<last<<" "<<now<<endl;
		if(n1>n2)
		{
			if(now==-1||(now==0&&last==-1))ans++;
			if(1!=now)
			{
				last=now;
				now=1;
			}
		}
		else if(n1==n2)
		{
			if(0!=now)
			{
				last=now;
				now=0;
			}
		}
		else if(n1<n2)
		{
			if(now==1||(now==0&&last==1))ans++;
			if(-1!=now)
			{
				last=now;
				now=-1;
			}
		}
	}
	cout<<ans;
}

0 条评论

目前还没有评论...