#include <bits/stdc++.h>
#define endl '\n'
#define int long long
using namespace std;
int res=1e9;
void backtrack(int i,int j,int &n,int &k,vector<int> &x,vector<deque<int>> y)
{
//cout<<i<<" "<<j<<endl;
if(j==k&&i!=n)return;
if(i==n)
{
int s=0;
for(int l=0;l<k;l++)
{
if(!y[l].empty()){
s+=y[l].back()+1-y[l].front();
}
}
res=min(res,s);
return;
}
backtrack(i,j+1,n,k,x,y);
y[j].push_back(x[i]);
backtrack(i+1,j,n,k,x,y);
}
int32_t main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cout.precision(0);
cout<<fixed;
int n,k;
cin>>n>>k;
vector<int> x(n);
for (int i = 0; i < n; i++)
{
cin>>x[i];
}
vector<deque<int>> y(k);
backtrack(0,0,n,k,x,y);
cout<<res<<endl;
return 0;
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |