~~虽然我看不出来有什么错~~
但是,额,首先您的compare函数要加const和&吧
其次
```cpp
else if(n == farmers[m].second)
{
sum += farmers[m].first * farmers[m].second;
break;
}
else if(n < farmers[m].second)
{
sum += farmers[m].first * n;
break;
}
```
有必要吗?
直接
```cpp
else
{
sum += farmers[m].first * n;
break;
}
```
by lukelin @ 2018-09-10 21:54:08
这题都能不对qwq
by memset0 @ 2018-09-10 21:58:01
int i,j,a[5001],b[5001],s=0;
long long m,n;
cin>>n>>m;
for(i=1;i<=m;i++)
cin>>a[i]>>b[i];
for(i=1;i<=m;i++)
for(j=i+1;j<=m;j++)
if(a[i]>a[j])
{
swap(a[i],a[j]);
swap(b[i],b[j]);
}
for(i=1;i<=m;i++)
{
if(n>0)
{
n-=b[i];
s+=b[i]*a[i];
}
if(n<=0)
{
s+=n*a[i];
break;
}
}
cout<<s<<endl;
return 0;
主代码
by liujia @ 2018-09-10 21:59:46