60分?求助!!!

P1478 陶陶摘苹果(升级版)

Kuangxirui @ 2024-05-28 12:46:43

#include<bits/stdc++.h>
using namespace std;
int main(){
    int n,s,ans=0;
    int x,y;
    int a[10010],b[10010];
    cin>>n>>s>>x>>y;
    for(int i=1;i<=n;i++){
        cin>>a[i]>>b[i];
    }
    for(int i=1;i<=n;i++){
        for(int j=i;j<=n;j++){
            if(a[i]<a[j]){
                swap(a[i],a[j]); 
                swap(b[i],b[j]);

            }
        }
    }
    for(int i=1;i<=n;i++){
        //cout<<a[i]<<" "<<b[i]<<endl;
        if(a[i]<=x+y&&s-b[i]>=0){
            ans++;
            s=s-b[i];
        }
    }
    cout<<ans;
    return 0;
}

我の贪心策略:把花费力气小的往前,如果身高不足就摘下一个。

但是不知道为什么WA了两个点


by Justin_love_coding @ 2024-05-28 13:45:03

手写冒泡排序?


by _QWQ_TAT_ @ 2024-05-28 13:47:35

@Kuangxirui 你这个是按高度排序,不是力气


by Kuangxirui @ 2024-05-29 12:23:10

oh,悟了,谢谢大佬


by Kuangxirui @ 2024-05-29 12:29:08

@_QwQTAT


by Kuangxirui @ 2024-05-29 12:29:35

已关注


|