予選模擬 問3

どうでも良いことですが、順列とはnPrではなくて2つの数字の並びのことをさしているようです。
正直問題がわるかったと思います。私はこの勘違いでハマりました…

#include 
int main(void){
	int n,i,j,k,buf;
	int data[1000];
	int rank[3]={1000,1000,1000};
	scanf("%d",&n);
	for(i=0;ibuf){
				//少なくとも3位
				if(rank[1]>buf){
					//少なくとも二位
					if(rank[0]>buf){
						//一位
						rank[2] = rank[1];
						rank[1] = rank[0];
						rank[0] = buf;
					}else{
					//2位
					rank[2] = rank[1];
					rank[1] = buf;
					}
				}else{
				//3位
				rank[2] = buf;
				}
			}
	}}
	printf("%d\n",rank[2]);
	return 0;
}