求助,被hack力,玄关
查看原帖
求助,被hack力,玄关
1311900
Greeper楼主2025/2/8 15:24
#include<bits/stdc++.h>
using namespace std;
int a[100000];
int n;
long long sum;
int lb,lt;
int x,j;
int main()
{
    cin>>n;
    a[0]=INT_MAX;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
    }
    for(int i=1;i<=n;i++)
    {
        if(i==1)
            sum+=a[i];
        else
        {
            lb=lower_bound(a+1,a+i,a[i])-a,lt=lower_bound(a+1,a+i,a[i])-a-1;
            if(a[i]>a[i-1])
            	sum+=a[i]-a[i-1];
			else
			    sum+=min(abs(a[i]-a[lb]),abs(a[i]-a[lt]));
			x=a[i];
            j=i-1;
            while(a[j]>x&&j>0)
            {
            	a[j+1]=a[j];
            	j--;
			}
			a[j+1]=x;
        }
    }
    cout<<sum;
    return 0;
}
2025/2/8 15:24
加载中...