昊轩啥也不是 @ 2021-08-20 14:51:15
因为上一个帖子被刷下去了就来再发一次
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,s,i,j,t=0,a,b,x[5005],y[5005],ans=0,sum[5005];
cin>>n>>s;
cin>>a>>b;
for(i=0;i<n;i++)
cin>>x[i]>>y[i];
for(i=0;i<=n;i++){
for(j=i+1;j<=n;j++){
if(x[i]>x[j]){
swap(x[i],x[j]);
swap(y[i],y[j]);
}
}
}
while(x[t]<=a+b){
sum[t]=y[t];
t++;
}
t=0;
while(s>=0){
ans++;
s=s-sum[t];
t++;
}
cout<<ans;
return 0;
}
by May_wind @ 2021-08-20 14:53:59
@昊轩啥也不是 码风清奇
应该按照摘苹果的力气对苹果排序吧……按高度排序肯定不对……
by May_wind @ 2021-08-20 14:54:54
另外这么简单的题不建议发讨论,建议自己解决
by hzlcdkslds @ 2021-08-20 14:58:52
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,s,i,j,a,b,x[5005],y[5005],ans=0;
cin>>n>>s;
cin>>a>>b;
for(i=0;i<n;i++)
cin>>x[i]>>y[i];
for(i=0;i<n;i++){
for(j=0;j<n;j++){
if(y[i]<y[j]){
swap(x[i],x[j]);
swap(y[i],y[j]);
}
}
}
for(int i=0;i<n;i++)
{
if(x[i]<=a+b&&s>=y[i])
{
ans++;
s-=y[i];
}
}
cout<<ans;
return 0;
}
仅供参考
by 昊轩啥也不是 @ 2021-08-20 14:59:01
@May_wind 谢谢,我知道了
by hzlcdkslds @ 2021-08-20 14:59:09
@昊轩啥也不是
by 昊轩啥也不是 @ 2021-08-20 15:02:12
@hsladafjsk 谢谢