https://www.acmicpc.net/problem/1966
#include<bits/stdc++.h>
using namespace std;
int myq_evaluate(queue<pair<int, int> > Q)
{
int siz = Q.size();
int first_importance = Q.front().second;
int now_importance;
for(int i=1; i<siz; i++)
{
Q.pop();
if(Q.front().second > first_importance)
{
return 1;
}
}
return 0;
}
int main(void)
{
int t;
int ans = 1;
int temp;
scanf("%d", &t);
for(int i=0; i<t; i++)
{
int n, m;
ans = 1;
scanf("%d %d", &n, &m);
queue<pair<int, int> >q;
pair<int, int> temp_front;
for(int j=0; j<n; j++)
{
scanf("%d", &temp);
q.push(make_pair(j, temp));
}
while(1)
{
while(myq_evaluate(q))
{
temp_front = q.front();
q.pop();
q.push(temp_front);
}
if(q.front().first != m)
{
q.pop();
ans++;
}
else
{
break;
}
}
printf("%d\n", ans);
}
return 0;
}
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int main()
{
int a,b,i,d[100]={0,},cnt=0,f;
scanf("%d",&f);
while(f>0)
{
priority_queue<pair<int,int>> p;
scanf("%d %d",&a,&b);
for(i=0;i<a;i++)
{
scanf("%d",&d[i]);
p.push({d[i],i});
}
while(!p.empty())
{
cnt++;
int t=p.top().second;
if(b==t)
{
printf("%d\n",cnt);
break;
}
p.pop();
}
f--;
cnt=0;
}
return 0;
}
'정보올림피아드-KOI > BOJ' 카테고리의 다른 글
백준 : 가운데를 말해요 1655번 (0) | 2020.05.10 |
---|---|
BOJ 외판원 순회 2 - 10971번 (0) | 2020.05.08 |
백준 - 로마 숫자 만들기 : 16922번 (0) | 2020.04.26 |
백준 - 두 로봇 : 15971 (0) | 2020.03.31 |
백준 : 두 박스 : 15973 (0) | 2020.03.31 |