diff --git a/src/9/3/P9127.cpp b/src/9/3/P9127.cpp new file mode 100644 index 0000000..ede6e05 --- /dev/null +++ b/src/9/3/P9127.cpp @@ -0,0 +1,50 @@ +#include +#include +#include +#include +#include +#include +#include +using ll = int64_t; + +ll n,subn=0; +std::vector pre; +struct Sub{ + ll l,r,sum; + bool operator<(const Sub&r)const{ + return sum sub; + +static inline bool isin(ll l,ll m,ll r){ + return l<=m && m<=r; +} + +int main(){ + std::ios_base::sync_with_stdio(false); + std::cin.tie(nullptr); + + std::cin>>n; + pre.resize(n+1); + sub.resize(n*n+1); + for(ll i=1;i<=n;i++){ + std::cin>>pre[i]; + pre[i]+=pre[i-1]; + } + for(ll i=1;i<=n;i++){ + for(ll j=i;j<=n;j++){ + sub[++subn]={i,j,pre[j]-pre[i-1]}; + } + } + std::sort(sub.begin()+1,sub.begin()+1+subn); + for(ll i=1;i<=n;i++){ + ll ans=LLONG_MAX; + for(ll j=1;j