求助,第一次写贪心题
查看原帖
求助,第一次写贪心题
953660
zsjaaaxy楼主2023/10/9 22:01

是这个意思吗》思路

#include<bits/stdc++.h>
using namespace std;
int main()
{
    double n,t,mt=0,ans=0;
    int r;
    cin>>n>>t;
    double m[(int)(n+5.0)],v[(int)(n+5.0)],l[(int)(n+5.0)];
    for(int i=1;i<=n;i++)
    {
        cin>>m[i]>>v[i];
        l[i]=m[i]/v[i];
    }
    sort(l+1,l+(int)(n)+1);
    while(mt<t)
    {
        double d=m[r];
        if(d>(t-mt))
        {
            ans+=l[r]*(t-mt);
            break;
        }
        else
        {
            ans+=v[r];
            r++;
        }
    }
    printf("%.2f",ans);
    return 0;
}

大佬们看下,谢谢;

2023/10/9 22:01
加载中...