Submission #638914

#TimeUsernameProblemLanguageResultExecution timeMemory
638914rc_catuntaStove (JOI18_stove)C++14
20 / 100
1075 ms340 KiB
#include <bits/stdc++.h> using namespace std; typedef vector<int> vi; typedef pair<int,int> ii; typedef vector<ii> vii; int main(){ ios_base::sync_with_stdio(false); int N,K,x; vi guests; cin>>N>>K; for(int i=0;i<N;i++){ cin>>x; guests.push_back(x); } // BITAMSK // (1<<N) = 2^N int tiempo_minimo = 1000000010; for(int i=1;i<(1<<N);i++){ // Recorres los bits int tiempo = 0; bool valido = true; int cfosforos = 0; int pos_prendido_anterior = 0; for(int pos=0;pos<N;pos++){ if((i&(1<<pos))>0){ // Prendido cfosforos++; if(pos!=0){ tiempo += guests[pos-1]+1-guests[pos_prendido_anterior]; } pos_prendido_anterior = pos; } else{ // Apagado if(pos==0){ valido = false; break; } } } tiempo += guests[N-1]+1-guests[pos_prendido_anterior]; if(cfosforos<=K and valido){ tiempo_minimo = min(tiempo_minimo,tiempo); } } cout<<tiempo_minimo<<"\n"; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...