30pts 求助,回复必关
查看原帖
30pts 求助,回复必关
1303967
lizimu0718楼主2025/1/24 16:45
#include<bits/stdc++.h>
using namespace std;
int n,m,cnt;
int dp[10005];
struct p
{
	int p,t;
}a[10005];
int main()
{
    cin>>n>>m;
    dp[n]=0;
    for(int i=1;i<=m;i++)
    {
    	cin>>a[i].p>>a[i].t; 
    	
	}
	int j=m;
	for(int i=n-1;i>=1;i--)
	{
		if(a[j].p!=i) dp[i]=dp[i+1]+1;
		else
		{
			while(a[j].p==i)
			{
				dp[i]=max(dp[i],dp[i+a[j].t]);
				j--;
			}
		}
	}
	cout<<dp[1];
    return 0;
}
2025/1/24 16:45
加载中...