蒟蒻20分求助
查看原帖
蒟蒻20分求助
229957
Wu_while楼主2020/10/24 09:08

只有二十分,为什么?

#include<iostream>
#include<cstdio>
using namespace std;
int a[10010],ans1,ans2;
int l,n,f,s,t;
bool flag=1;
int main()
{
	cin>>l>>n;
	for(int i=1;i<=l;i++)
		a[i]=1;
	for(int i=1;i<=n;i++)
	{
		cin>>f>>s>>t;
		if(f==0)
		{
			if(flag)
			{
				for(int j=s;j<=t;j++)
					a[j]=0;
				flag=0;
			}
			else
				for(int j=s;j<=t;j++)
				{
					if(a[j]==2)
					{
						a[j]=0;
						ans2++;
					}
				}
		}
		else
		{
			for(int j=s;j<=t;j++)
			{
				if(!a[j])
					a[j]=2;
			}
		}
	}
	for(int i=1;i<=l;i++)
		if(a[i]==2)
			ans1++;
	cout<<ans1<<endl;
	cout<<ans2<<endl;
	return 0;
}
2020/10/24 09:08
加载中...