C++差第一个点没过求大佬看看
查看原帖
C++差第一个点没过求大佬看看
726603
Leibyi_233楼主2022/8/3 22:29

第一个点WA

#include<cstdio>
#include<algorithm>
#include <iostream>
using namespace std;
struct coin{
    int m;
    int v;
}a[105];
bool cmp(coin a,coin b);
int n,t;
int main()
{
    int i;
    int now=0;
    float max=0.0;
    cin>>n>>t;
    for(i=0;i<n;i++)
    cin>>a[i].m>>a[i].v;
    sort(a,a+n,cmp);
    for(i=0;i<n;i++)
    {
        now+=a[i].m;
        if(now<=t)
        {
           max+=a[i].v; 
        }
        else
        {
            now-=a[i].m;
            break;
        }
    }
    max+=((t-now)*a[i].v*1.0)/(a[i].m);
    printf("%.2f",max);
    return 0;
    
}
bool cmp(coin a,coin b)
{
    return(a.v*b.m>b.v*a.m);
}
2022/8/3 22:29
加载中...