이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#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 time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |