题解
2023-08-01 19:33:26
发布于:上海
25阅读
0回复
0点赞
#include<stdio.h>
using namespace std;
struct task{
int id;
int pri;
}temp;
int main()
{
int n,m,time=0,docontinue;
scanf("%d%d",&n,&m);
task queue[n];
for(int i=0;i<n;i++){
scanf("%d",&queue[i].pri);
queue[i].id = i;
}
while(queue[0].id!=m||queue[0].pri!=-1){
if(queue[0].pri==-1){
temp=queue[0];
for(int j=0;j<n-1;j++){
queue[j] = queue[j+1];
}
queue[n-1] = temp;
continue;
}
docontinue = false;
for(int i=1;i<n;i++){
if(queue[0].pri<queue[i].pri){
temp=queue[0];
for(int j=0;j<n-1;j++){
queue[j] = queue[j+1];
}
queue[n-1] = temp;
docontinue = true;
break;
}
}
if(docontinue) continue;
queue[0].pri = -1;
time++;
}
printf("%d", time);
return 0;
}
这里空空如也
有帮助,赞一个