#5 WA 求助
查看原帖
#5 WA 求助
516468
_Give_up_楼主2022/8/29 21:58
#include<bits/stdc++.h>
#define N 5010

using namespace std;

int read()
{
    int x = 0,f = 1;
    char c = getchar();
    while(c<'0' || c>'9')
	{
        if(c=='-') f = -1;
        c = getchar();
    }
    while(c>='0' && c<='9')
	{
        x = (x<<3)+(x<<1)+(c^48);
        c = getchar();
    }
    return x*f;
}

struct rec
{
	int l,r,sum;
	rec()
	{
		sum = 0;
	}
}a[N];

bool cmp(rec a,rec b)
{
	return a.sum<b.sum;
}

int main()
{
	int n=read(),q=read();
	map <int,int> mp;
	mp.clear();
	for (int i=1;i<=q;i++)
	{
		a[i].l=read(),a[i].r=read();
		for (int j=a[i].l;j<=a[i].r;j++)
			mp[j]++;
	}
	for (int i=1;i<=q;i++)
	{
		for (int j=a[i].l;j<=a[i].r;j++)
			if (mp[j]>1) a[i].sum++;
	}
	sort(a+1,a+n+1,cmp);
	for (int i=1;i<=2;i++)
	{
		for (int j=a[i].l;j<=a[i].r;j++)
			mp[j]--;
	}
	int ans = 0;
	for (int i=1;i<=n;i++)
		if (mp[i]) ans++;
	cout << ans << endl;
	return 0; 
}
2022/8/29 21:58
加载中...