2 条题解
-
1
#include<bits/stdc++.h> using namespace std; const int MAXN=10005; int dp[MAXN]; int ans[MAXN][MAXN]; int c[MAXN]; int main(){ int n,k; cin>>n>>k; for(int i=1;i<=k;i++){ int p,t; cin>>p>>t; c[p]++; ans[p][c[p]]=t; } for(int i=n;i>=1;i--){ if(c[i]==0){ dp[i]=dp[i+1]+1; }else{ dp[i]=0; for(int j=1;j<=c[i];j++){ int t=ans[i][j]; dp[i]=max(dp[i],dp[i + t]); } } } cout<<dp[1]<<endl; return 0; }
信息
- ID
- 1405
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 2
- 标签
- 递交数
- 64
- 已通过
- 42
- 上传者