倒着推就是了

#include <iostream>
#include <cstdio>
#include <vector>
using namespace std;
int n, k, p, t, dp[10005];
vector<int> a[10005];//是他,就是他!我们的英雄vector!
int main(){
	cin>>n>>k;
	for(int i=1; i<=k; i++){
		scanf("%d %d", &p, &t);
		a[p].push_back(t);
	}
	for(int i=n; i>=1; i--){
		if(a[i].size()){
			for(int j=0; j<a[i].size(); j++)
				dp[i] = max(dp[i], dp[i+a[i][j]]);
		}
		else dp[i] = dp[i+1] + 1;
	}
	cout<<dp[1]<<endl;
	return 0;
}

相关文章:

  • 2021-05-24
  • 2021-05-24
  • 2021-06-30
  • 2021-10-14
  • 2021-08-10
  • 2021-09-10
  • 2022-12-23
猜你喜欢
  • 2021-05-30
  • 2021-09-21
  • 2022-12-23
相关资源
相似解决方案