为什么这段代码运行的时候第一个样例是RE,但其他的都是AC???
#include<iostream>
#include<iomanip>
using namespace std;
double n,t,m,ans;
double a[3][105]; // a[0]=weight a[1]=price a[2]=price/weight
bool x=true;
int main(){
cin >> n >> t;
if(n==0||t==0){
return 0;
}
for(int i=1;i<=n;i++){
cin >> a[0][i] >> a[1][i];
a[2][i]=a[1][i]*1.00/a[0][i];
}
for(int i=1;i<=n;i++){
for(int j=i;j<=n;j++){
if(a[2][i]<a[2][j]){
swap(a[2][i],a[2][j]);
swap(a[1][i],a[1][j]);
swap(a[0][i],a[0][j]);
}
}
}
int m=1;
while(x){
if(t>=a[0][m]){
ans=ans+a[1][m];
t=t-a[0][m];
if(t==0){
x=false;
}
}else{
ans=ans+a[2][m]*1.00*t;
t=0;
x=false;
}
m++;
}
cout << fixed << setprecision(2) << ans;
return 0;
}
太菜了以至于只会用冒泡排序
勿喷