| 比赛 |
2026.9.5 |
评测结果 |
EEEEEATTTTTWEEEEEEWWTTTTT |
| 题目名称 |
Asteroid Mining |
最终得分 |
4 |
| 用户昵称 |
wmlsxzh |
运行时间 |
24.464 s |
| 代码语言 |
C++ |
内存使用 |
34.46 MiB |
| 提交时间 |
2026-09-05 10:15:19 |
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
#define MAXN 500000
#define ll long long
ll kua[MAXN][2];//0value 1mass
ll n,m,tb[MAXN][253];
ll f(ll i,ll rest){
if(i==n)return 0;
if(rest==0)return 0;
if(rest<253&&tb[i][rest])return tb[i][rest];
int p1=f(i+1,rest);
int p2=0;
if(kua[i][1]<=rest){
p2=f(i+1,rest-kua[i][1])+kua[i][0];
}
return tb[i][rest]=max(p1,p2);
}
int main(){
freopen("Mining.in","r",stdin);
freopen("Mining.out","w",stdout);
scanf("%lld %lld",&n,&m);
for(int i=0;i<n;++i){
scanf("%lld %lld",&kua[i][0],&kua[i][1]);
}
ll ans=f(0,m);
printf("%lld",ans);
return 0;
}