[HPU - 1411] QAQ & ORZ 的簽到題

Link:點擊打開鏈接


1411: QAQ & ORZ 的簽到題 [水題]

時間限制: 1 Sec 內存限制: 128 MB

提交: 867 解決: 221 統計

題目描述

QAQ 的好朋友 ORZ,最近在做一個選拔節目的評委,對於每位選手 ORZ 想知道在這個選手以及這位選手前面的的選手中,得分最高和最低的選手的序號分別是多少....

ORZ 找了 QAQ 幫忙,但是 QAQ 最近在追火星情報局....所以你可以幫助 QAQ 解決 ORZ 的問題嗎?

輸入

第一行一個數 T  (1T101≤T≤10),表示 T 組測試數據

第二行一個數 n  (1n1051≤n≤105 ),表示有 n 位選手

接下來 n 行,每行一個數 a (1a1081≤a≤108),表示第 i 位選手的得分,打分總是從第一位選手開始

輸出

輸出從 1 ~ n 位選手中 a[i],在 1 ~ i 之間的選手中得分最高和得分最低的選手的序號分別是多少。

如果得分相同則優先輸出較小的序號。

樣例輸入

1
3
1
2
3

樣例輸出

1 1
2 1
3 1


Code:

#include<cstdio>
#include<cstdlib>
#include<cmath>
#include<cstring>
#include<algorithm>
#include<iostream>
#include<queue>
#include<stack>
using namespace std;
const int maxn=1e6;
int a[maxn];
int main()
{
	int t,n,x,y;
	scanf("%d",&t);
	while(t--)
	{
		int MAX=-0x3f3f3f3f;
		int MIN=0x3f3f3f3f;
		scanf("%d",&n);	
		for(int i=1;i<=n;i++)
		{
			scanf("%d",&a[i]);
			if(a[i]>MAX)
			{
				MAX=a[i];
				x=i;
			}
			if(a[i]<MIN)
			{
				MIN=a[i];
				y=i;
			}
			printf("%d %d\n",x,y);
		}
	}
return 0;
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章