1 条题解
-
0
#include<bits/stdc++.h> using namespace std; struct node{int x,y,L;}a[11000]; bool cmp(node n1,node n2){return n1.x<n2.x;} int f[11000]; int main() { int T,n;scanf("%d%d",&T,&n); for (int i=1;i<=n;i++)scanf("%d%d",&a[i].x,&a[i].L),a[i].y=a[i].x+a[i].L-1; sort(a+1,a+n+1,cmp); memset(f,63,sizeof(f));f[T+1]=0; int j=n; for(int i=T;i>=1;i--) { bool bk=0; for(;j>=1;j--) { if(a[j].x==i)f[i]=min(f[i],f[a[j].y+1]+a[j].L),bk=1; if(a[j].x<i)break; } if(bk==0)f[i]=f[i+1]; } printf("%d\n",T-f[1]); return 0; }
- 1
信息
- ID
- 253
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 2
- 标签
- 递交数
- 57
- 已通过
- 36
- 上传者