求助,只有第一个AC
查看原帖
求助,只有第一个AC
352913
123xiayicheng楼主2022/10/28 20:34
#include <bits/stdc++.h>
using namespace std;
int m[110],v[110];
struct node
{
  double f;
  int num;
} a[110];

bool cmp(node x,node y)
{
  if(fabs(x.f -y.f )>=0)
    return false;
  else
    return true;
}
int main()
{
  int n,t,j=0;
  double s,ans;
  cin>>n>>t;
  s=t;
  for(int i=0; i<n; i++)
  {
    cin>>m[i]>>v[i];
    a[i].f=v[i]*1.0/m[i];
    a[i].num=i;
  }
  sort(a,a+n,cmp);
//  for(int i=0; i<n; i++)
//  {
//    cout<<a[i].f <<" ";
//  }
  for(int j=0; j<n; j++)
  {
//    cout<<ans<<" ";
    if(s>m[a[j].num ])
      s-=m[a[j].num],ans+=v[a[j].num];
    else
    {

      ans+=s*a[j].f;
      break;
    }

  }
  printf("%.2lf",ans);
  return 0;
}

2022/10/28 20:34
加载中...