洛谷评测给了40分

P1478 陶陶摘苹果(升级版)

xxyyf @ 2018-11-08 16:02:49

有没有dalao帮蒟蒻看看程序那错了??

蒟蒻程序: (洛谷评测给了40分)

#include<iostream>
using namespace std;
int a[5000],m[5000];
int main()
{
    int n,c,d,b,k=0,s;
    cin>>n>>c>>d>>b;
    s=b+d;
    for(int i=1;i<=n;++i)
    {
        cin>>a[i]>>m[i];

    }
    for(int i=1;i<=n;++i)
    {
        if(m[i]>m[i+1])
        {
            swap(m[i],m[i+1]);
            swap(a[i],a[i+1]);
        }
        if(a[i]>a[i+1]&&m[i]==m[i+1])
        {
            swap(m[i],m[i+1]);
            swap(a[i],a[i+1]);
        }
    }
    for(int i=1;i<=n;++i)
    {
        if(c>0)
        {
            if(s>=a[i])
            {
                c-=m[i];
                if(c>=0)
                k++;
            }
        }
    }
    cout<<k;
    return 0;
}

by 寒落 @ 2018-11-08 16:16:08

@ζั͡✿谢亦凡 排序有问题


by 寒落 @ 2018-11-08 16:17:07

@吾主森罗 m数组只排一次不能保证是递增的,只能确定最后一个是最大值


by 匿名用户ㅤ @ 2018-11-10 11:54:51

排序双重循环

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

    }
}

by SfumatoCannon_ @ 2018-11-20 21:46:34

sort岂不美哉


|