降橙吧
查看原帖
降橙吧
1286053
Nostopathy楼主2024/11/23 15:51

关于本题贪心居然能过这件事。。

跌掉眼镜

#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;
}


2024/11/23 15:51
加载中...