C语言第一个点WA 求助大佬
查看原帖
C语言第一个点WA 求助大佬
1116212
Swan416ya楼主2023/11/16 16:51
#include <stdio.h>
#include <stdlib.h>
int findMaxIndex(double arr[], int len)
 {
    int maxIndex=0;
    for (int i=1;i<len;i++)
    {
        if (arr[i]>arr[maxIndex])
        {
            maxIndex=i;
        }
    }
    return maxIndex;
}

int main()
{
    int n,t;
    scanf("%d%d",&n,&t);
    int m[n],v[n];
    double q[n];
    for(int i=0;i<n;i++)
    {
        scanf("%d%d",&m[i],&v[i]);
        q[i]=(double)v[i]/m[i];
    }
    double result=0;
    int p;
    while(1)
    {
        p=findMaxIndex(q,n);
        t-=m[p];
        result+=v[p];
        if(t<0)
        {
            t+=m[p];
            result-=v[p];
            break;
        }
        //printf("p=%d t=%d result=%.2lf\n",p,t,result);
        q[p]=0;
    }
    //printf("%.2lf\n",result);
    result=result+(q[p]*t);
    printf("%.2lf",result);
    return 0;
}

2023/11/16 16:51
加载中...