⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 2111238_ac_0ms_20k.c

📁 北大大牛代码 1240道题的原代码 超级权威
💻 C
字号:
# include <stdio.h>
# include <stdlib.h>

int n, m, l, M;
int p[101];
int f, r;
int time;
int queue[10000][2];

void solve()
{
	int i;

	time = 0;
	while(p[l]>M)
	{
		if(queue[f][0]==p[l])
		{
	    	time++;
	     	l++;
			f++;
			continue;
		}
		queue[++r][0] = queue[f][0];
		queue[r][1] = queue[f][1];
		f++;
	}
	for(i = f; i <= r; i++)
		if(queue[i][1]==m)
			break;
		else
			if(queue[i][0]==M)
				time++;
	printf("%d\n",time+1);
}

int cmp(const void *a,const void *b)
{
	return *(int *)b - *(int *)a;
}

void input()
{
	int t, i;
	
	scanf("%d",&t);
	while(t--)
	{
		f = 0;r = -1;
		scanf("%d%d",&n,&m);
		for(i = 0; i < n; i++)
		{
			scanf("%d",&p[i]);
			queue[++r][0] = p[i];
			queue[r][1] = i;
			if(i==m)
				M = p[i];
		}
		qsort(p,n,sizeof(p[0]),cmp);
		l = 0;
		solve();
	}
}

int main()
{
	input();
	return 1;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -