之前没见过这个RE信息,跟数组越界报错不一样,程序甚至没有一个不正常的返回值
Runtime Error.
Received signal 11: Segmentation fault with invalid memory reference.
代码:
#include<iostream>
#include<algorithm>
using namespace std;
struct jbd{
double m;
double v;
double xjb;
};
jbd a[10005];
int N;
double T;
bool cmp(jbd j1, jbd j2){
return j1.xjb>j2.xjb;
}
int main(){
cin>>N>>T;
for(int i=0;i<N;i++){
cin>>a[i].m>>a[i].v;
a[i].xjb=a[i].v/a[i].m;
}
sort(a,a+N,cmp);
int i=0;
double C=0,D=0;
while(C<T){
C+=a[i].m;
D+=a[i].v;
i++;
}
i--;
C=T-C;//可用容量C
D+=C*a[i].xjb;
printf("%0.2lf",D);
return 0;
}