各位大佬,请问我哪里错了?感谢!!!
查看原帖
各位大佬,请问我哪里错了?感谢!!!
667200
Jianxin7180楼主2022/1/26 11:29
#include <stdio.h>

void quicksort(int a[], int left, int right)
{
    int i=left,j=right;
    int temp=(i+j)/2;
    do
    {
        while(a[i]<a[temp]&&i<right)
        i++;
        while(a[j]>a[temp]&&j>left)
        j--;
        if(i<=j)
        {
            int tmp=a[i];
            a[i]=a[j];
            a[j]=tmp;
            i++;
            j--;
        }
    }while(i<=j);
    if(j>left)
    quicksort(a,left,j);
    if(i<right)
    quicksort(a,i,right);
    return;
}

int main()
{
    int n,m,i,k;
    int max=0,j=0,money;
    scanf("%d%d",&n,&m);
    int a[100000];
    for(i=0;i<m;i++)
    scanf("%d",&a[i]);
    quicksort(a,0,m-1);//先排序
    for(i=m-1;i>=0;i--)//从高的价格向下枚举,判断最高利润
    {
        j++;
        if(j>n)//判断是否超过草料批数
        break;
        money=j*a[i];
        if(money>max)
        {
            k=a[i];
            max=money;
        }
    }
    printf("%d %d",k,max);
    return 0;
}
2022/1/26 11:29
加载中...