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岂不美哉