测试案例过了,但上交后全红了,由于没有更多的测试案例,检查不出错误点。。。。求大佬帮助
#include<stdio.h>
#define N 10000
int s1[N], s2[N];
double s[N];
int ss[N];
int n, T;
double sum,gg;
void find()
{
double v;
for (int j = 0; j < n; j++)
{
double max = s[j];
int t = j;
for (int i = 1; i < n; i++)
{
if (max < s[i])
{
v = s[j];
s[j] = s[i];
s[i] = v;
t = i;
}
}
ss[j] = t;
}
}
int inputt()
{
for (int i = 0; i < n; i++)
{
if (gg + s1[ss[i]] <= T)
{
sum += s2[ss[i]];
gg += s1[ss[i]];
}
else
{
gg = T - gg;
double eta = (double)gg / s1[ss[i]];
sum = sum + s2[ss[i]] * eta;
break;
}
}
return 0;
}
int main()
{
scanf("%d%d",&n,&T);
for (int i = 0; i < n; i++)
{
scanf("%d%d",&s1[i],&s2[i]);
s[i] = (double)s2[i] / s1[i];
}
find();
inputt();
printf("%.2f\n",sum);
return 0;
}