Ride to Office Problem ID: 9342 Contest ID: 4304求助!!

#include
#include
using namespace std;
struct ride{
int a,b;
double c;
}r[10005];
bool cmp(ride a,ride b){
if(a.a==b.a){
return a.b>b.b;
}
return a.a>b.a;
}
int n;
int main(){
while(cin>>n && n!=0){
for(int i=0;i<n;i++){
cin>>r[i].a>>r[i].b;
if(r[i].b<0){
r[i].c=4500/r[i].a-abs(r[i].b);
}
else
r[i].c=4500/r[i].a+abs(r[i].b);
}
sort(r,r+n,cmp);
cout<<r[0].c;
}
return 0;
}

2 个赞

不必如此麻烦

1 个赞

又来了

2 个赞

#include
#include
using namespace std;
struct ride{
int a,b;
double c;
}r[10005];
bool cmp(ride a,ride b){
return a.c>b.c;
}
int n;
int main(){
while(cin>>n && n!=0){
for(int i=0;i<n;i++){
cin>>r[i].a>>r[i].b;
if(r[i].b<0){
r[i].c=4500/r[i].a-abs(r[i].b);
}
else
r[i].c=4500/r[i].a+abs(r[i].b);
}
sort(r,r+n,cmp);
cout<<r[0].c;
}
return 0;
}

2 个赞

试试

1 个赞

亲测能A

1 个赞