欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

【洛谷】P1478 陶陶摘苹果(升级版)-全AC题解

程序员文章站 2022-03-25 21:40:45
注意:yi排序后的ci 从yi里找的时候 从前往后找 找到了继续 再来一遍的时候还是先找到之前的 后面的xi不一定满足 所以把找到了的yi排除 ......
#include <iostream>
#include <algorithm>
using namespace std;

int main()
{
    int n,s,a,b;
    int countnum = 0;
    cin>>n>>s>>a>>b;
    int x[n],y[n],c[n];
    for(int i=0;i<n;i++)
    {
        cin>>x[i]>>y[i];
        c[i]=y[i];
    }

    sort(c,c+n);//排序

    for(int i=0;i<n;i++)
    {
        for(int j=0;j<n;j++)
        {

            if(y[j]==c[i] && a+b>=x[j] && s-y[j]>=0)
            {
                s = s-y[j];
                y[j]=c[n-1]+10; 
                //cout<<"j"<<j<<" "<<"y[j]:"<<y[j]<<" "<<"s"<<s<<endl;

                countnum++;

                break;
            }
        }

    }


    cout<<countnum<<endl;

    return 0;
}

注意:yi排序后的ci 从yi里找的时候 从前往后找 找到了继续 再来一遍的时候还是先找到之前的 后面的xi不一定满足 所以把找到了的yi排除