#include<bits/stdc++.h>
#define ll long long
using namespace std;
struct node
{
ll s,e;
}f[10005];
ll n,k,dp[10005];
ll vis[10005];
bool cmp(node x,node y)
{
return x.s>y.s;
}
int main()
{
cin>>n>>k;
for(ll i=1;i<=k;i++)
{
cin>>f[i].s>>f[i].e;
vis[f[i].s]++;
}
sort(f+1,f+1+n,cmp);//排除最后工作是否继续的干扰
for(ll i=n;i>=1;i--)
{
if(!vis[i])
{
dp[i]=dp[i+1]+1;//给同事
}
else//自己做
{
for(ll j=1;j<=k;j++)
{
if(f[j].s==i)
{
dp[i]=max(dp[i],dp[i+f[j].e]);//做了后的休息时间
}
}
}
}
cout<<dp[1]<<endl;
return 0;
}
洛谷p1280
最新推荐文章于 2022-05-30 00:25:53 发布