90分,第九个点超时了
查看原帖
90分,第九个点超时了
117575
Zarathu_say楼主2023/11/10 21:48

大佬救一救

#include<stdio.h>
void qsort(int array[], int low, int high) {
    int i = low; 
    int j = high;
    if(i >= j) {
        return;
    }
    int temp = array[low],t;
    while(i != j) {
        while(array[j] >= temp && i < j) {
            j--;
        }
	while(array[i] <= temp && i < j) {
            i++;
        }
	if(i < j) {
            t=array[i];
            array[i]=array[j];
            array[j]=t;
        }
    }
    t=array[i];
    array[i]=array[low];
    array[low]=t;
    qsort(array, low, i - 1);
    qsort(array, i + 1, high);
}
int main()
{
    int n,a[100000];
    scanf("%d",&n);
    for(int i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }
    qsort(a,0,n-1);
    int step=0,sum=0;
    for(int i=0;i<n;i++)
    {
        sum+=(a[i]-step)*6;
        sum++;
        if(a[i]>step){step=a[i];sum+=5;}
    }
    sum+=a[n-1]*4;
    printf("%lld",sum);
}```
2023/11/10 21:48
加载中...