Submission #1286274

#TimeUsernameProblemLanguageResultExecution timeMemory
1286274juan_alejandroStove (JOI18_stove)C++20
0 / 100
1095 ms596 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...