解题思路:

注意事项:

参考代码:

#include <bits/stdc++.h>

using namespace std;

#define int long long

typedef pair<int,int>pii;

#define N 10100

int s[N],a[N];

signed main(){    

    int n;

    cin>>n;

    vector<pii>v;

    for(int i=1;i<=n;i++) cin>>a[i],s[i]=s[i-1]+a[i];

    for(int i=1;i<=n;i++){

        for(int j=i;j<=n;j++){

            v.push_back({s[j]-s[i-1],i});

        }

    }

    sort(v.begin(),v.end());

    int ans=1e18;

     for(int i=0;i<v.size()-1;i++){

         if(v[i].second!=v[i+1].second) ans=min(ans,v[i+1].first-v[i].first);

     }

    cout<<ans<<endl;

    return 0 ;

}


点赞(0)
 

0.0分

8 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 1 条评论

Wake 5月前 回复TA
当数据为
3
1 5 10
时,输出应该为4,但是你这样输出为1???
(虽然得分为100------)