obo314   3년 전

#include <cstdio>
#include <queue>
#include <iostream>
#include <utility>
using namespace std;

int main(){
queue<int> que;
queue<int> outnum_que;
int N ,M;
int cnt=0;
scanf("%d %d",&N,&M);
for(int i=0;i<M;i++){
int num;
scanf("%d",&num);
outnum_que.push(num);
}
for(int i=1;i<=N;i++){
que.push(i);
}
while(M){
if(que.front() == outnum_que.front()){
que.pop();
outnum_que.pop();
M--;
}
else if(abs(que.front()-outnum_que.front())<=abs(que.back()-outnum_que.front())){
que.push(que.front());
que.pop();
cnt++;
}
else{
for(int i=que.size();i>1;i--){
que.push(que.front());
que.pop();
}
cnt++;

}

}

printf("%d\n",cnt);

}




kyhdudgns113   3년 전

몇번 문제인지가 나와있지 않네요^^

댓글을 작성하려면 로그인해야 합니다.