题解
2023-07-20 15:54:13
发布于:上海
27阅读
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){
// printf("%d\n", time);
// for(int i=0;i<n;i++)
// printf("%d: %d\n", queue[i].id, queue[i].pri);
// printf("\n");
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;
}
这里空空如也
有帮助,赞一个