九度 1398 移动次数

需要考虑两个问题

   1:只能相信移位

   2:最小的数越前越好,最大的数越后越好

这样应该就没什么问题

#include<stdio.h>
#include<stdlib.h>

int main()
{
	int n,worker[204];
	while(scanf("%d",&n)!=EOF)
	{
		int max,min,count=0;
		max=0;
		min=0;
		int a=-1,b=500;
		for(int i=0;i<n;++i)
		{
			scanf("%d",&worker[i]);
			if(worker[i]>=worker[max])
			{
				max=i;
				
			}
			else if(worker[i]<worker[min])
			{
				min=i;
				
			}
		}
		//printf("%d %d\n",max,min);
		if(max>=min)
			count=n-max-1+min;
		else
			count=n-max+min-2;
		printf("%d\n",count);
	}
	return 0;
}

 

posted @ 2012-03-18 21:19  dupuleng  阅读(70)  评论(0)    收藏  举报