其他测试点过了,第6个测试点却没过
查看原帖
其他测试点过了,第6个测试点却没过
1503208
convie楼主2024/11/26 11:43
#include<bits/stdc++.h>
using namespace std;
#define MAXN 199999
#define int long long
#define ll  long long
ll a[MAXN],f[MAXN];
multiset<ll>q;
signed main(){
    ll n;
    ll ans=1e10;
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i];
        f[i]=f[i-1]+a[i];
    }
    q.insert(1e15);
    q.insert(-1e15);
    ll res=1e9;
    for(int l=1;l<=n;l++){
    	for(int i=1;i<=l-1;i++)
    	q.insert(f[l-1]-f[i-1]);
    	for(int r=1;r<=n;r++){
    		ll sum=f[r]-f[l-1];
    		auto it=q.lower_bound(sum);
    		res=min(res,*it-sum);
    		--it;
    		res=min(res,sum-*it);
		}
	}
	cout<<res;
    return 0;
}
2024/11/26 11:43
加载中...