2 条题解
-
0
#include<bits/stdc++.h> using namespace std; int n,T,k,ans,f[2000],v[1000],h[1000]; int main() { scanf("%d%d%d",&n,&T,&k); for (int i=1;i<=n;i++) { scanf("%d%d",&v[i],&h[i]); for (int j=h[i];j<=T*5/4;j++) f[j]=max(f[j],f[j-h[i]]+v[i]); } ans=f[T]; for (int i=1;i<=n;i++) if (h[i]>=k) ans=max(ans,f[(T-h[i])*5/4]+v[i]); printf("%d\n",ans); return 0; } -
0
#include<bits/stdc++.h> using namespace std; int n,T,k,ans,f[2000],v[1000],h[1000]; int main() { scanf("%d%d%d",&n,&T,&k); for (int i=1;i<=n;i++) { scanf("%d%d",&v[i],&h[i]); for (int j=h[i];j<=T*5/4;j++) f[j]=max(f[j],f[j-h[i]]+v[i]); } ans=f[T]; for (int i=1;i<=n;i++) if (h[i]>=k) ans=max(ans,f[(T-h[i])*5/4]+v[i]); printf("%d\n",ans); return 0; }
- 1
信息
- ID
- 1696
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 8
- 标签
- 递交数
- 134
- 已通过
- 20
- 上传者