关于本题贪心居然能过这件事。。
跌掉眼镜
#include<bits/stdc++.h>
using namespace std;
#define int long long
inline int read()
{
int x=0,F=1;
char ch=getchar();
while(ch<'0'||ch>'9')
{
if(ch=='-')
F=-1;
ch=getchar();
}
while(ch>='0' && ch<='9')
x=x*10+ch-'0',ch=getchar();
return x*F;
}
void write(int x)
{
if(x<0)
putchar('-'),x=-x;
if(x>9)
write(x/10);
putchar(x%10+'0');
return;
}
const int N=1E2+5;
int V, n, j, k;
pair<int, int> a[N];
bool node(pair<int, int> v, pair<int, int> w)
{
return v.second>w.second;
}
signed main(){
//天才CuteQiQi
n=read(), V=read();
for(int i=1; i<=n; ++i)
{
a[i].first=read(), a[i].second=read();
}
sort(a+1, a+n+1, node);
for(int i=1; i<=n; ++i)
{
if(j<=V-a[i].first)
{
k+=a[i].second, j+=a[i].first;
}
}
write(k);
return 0;
}