This commit is contained in:
Zengtudor 2025-07-20 10:35:09 +08:00
parent 8730ceddbf
commit adff9c0a4e

View File

@ -1,9 +1,19 @@
#include <cstdio>
#include <set>
#include <vector>
using ll = long long;
ll n,k;
std::vector<ll> a;
ll n,k,ans{};
std::vector<ll> a,s;
std::multiset<ll> se;
#define NV(v)do{printf("%s",#v);printf(" : %lld\n",(v));}while(0)
void addAns(ll n){
se.insert(n);
if(se.size()>k){
se.erase(--se.end());
}
}
int main(){
scanf("%lld%lld",&n,&k);
@ -11,5 +21,20 @@ int main(){
for(ll i=1;i<(ll)a.size();i++){
scanf("%lld",&a[i]);
}
s.resize(a.size());
for(ll i=1;i<(ll)s.size();i++){
s[i]=s[i-1]+a[i];
}
for(ll i=1;i<(ll)s.size();i++){
for(ll j=i;j<(ll)s.size();j++){
addAns(s[j]-s[i-1]);
}
}
for(ll i=1;i<=k;i++){
static auto it = se.begin();
ans+=*it;
// NV(*it);
it++;
}
printf("%lld\n",ans);
}