Submission #1229990

#TimeUsernameProblemLanguageResultExecution timeMemory
1229990lamk9Stove (JOI18_stove)C++20
20 / 100
62 ms73800 KiB
#include <bits/stdc++.h> using namespace std; const int N=1e6+2; int a[N],b[N]; int res=1e9,ma=0; int n,k; void backtrack(int x) { if(x>ma) { int dem=0,run=0,ok=0; b[0]=0; for(int i=1; i<=ma; i++) { if(b[i-1]==0 && b[i]==1) dem++; if(b[i]==1) run++; } if(dem<=k) { ok=1; for(int i=1; i<=n; i++) { if(b[a[i]]==0) ok=0; } } if(ok==1) res=min(res,run); } else { for(int m=0; m<=1; m++) { b[x]=m; backtrack(x+1); } } } int main() { ios_base::sync_with_stdio(false); cin.tie(); cin >> n >> k; for(int i=1; i<=n; i++) cin >> a[i]; for(int i=1; i<=n; i++) { ma=max(ma,a[i]); } backtrack(1); cout << res; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...