题解(35分):
枚举每个区间,再枚举每个施肥车,看所有的施肥车能不能把这个区间填满
#include<bits/stdc++.h>
using namespace std;
const int N=410;
int n,m;
typedef pair<int,int>PII;
vector<PII>v;
int st[N];
bool check(int l,int r)
{
memset(st,0,sizeof st);
for(int i=0;i<m;i++)
{
if(v[i].first>=l&&v[i].second<=r)
{
for(int j=v[i].first;j<=v[i].second;j++)
{
st[j]=1;
}
}
}
for(int i=l;i<=r;i++)
{
if(st[i]==0)
return false;
}
return true;
}
int main()
{
scanf("%d %d",&n,&m);
for(int i=0;i<m;i++)
{
int l,r;
scanf("%d %d",&l,&r);
v.push_back({l,r});
}
int ans=0;
for(int i=1;i<=n;i++)
{
for(int j=i+1;j<=n;j++)
{
if(check(i,j))
ans++;
}
}
printf("%d\n",ans);
}