用这些代码过了例题,不过提交就全部WA。 是因为需要四舍五入还是其他代码的问题呢 改半个小时了实在看不下去了
#include <bits/stdc++.h>
using namespace std;
int main()
{
int N,T;
cin>>N>>T;
float s=0,qx[N],q[N][2];
int arr[N][2],qy[N];
for(int i=0;i<N;i++)
cin>>arr[i][0]>>arr[i][1];
for(int i=0;i<N;i++)
{
q[i][0]=arr[i][1]/arr[i][0];
q[i][1]=i;
}
for(int i=0;i<N-1;i++)
{
for(int j=0;j<N-1-i;j++)
{
if(q[j][0]<=q[j+1][0])
{ int t=q[j][0];
q[j][0]=q[j+1][0];
q[j+1][0]=t;
t=q[j][1];
q[j][1]=q[j+1][1];
q[j+1][1]=t;
}
}
}
for(int i=0;i<N;i++)
{
qx[i]=q[i][0];
qy[i]=q[i][1];
if(T>arr[qy[i]][0])
{s+=qx[i]*arr[qy[i]][0];
T-=arr[qy[i]][0];}
else if(T==arr[qy[i]][0])
{s+=qx[i]*arr[qy[i]][0];break;}
else
{s+=T*qx[i];break;}
}
printf("%.2f\n",s);
return 0;
}