Link:點擊打開鏈接
1411: QAQ & ORZ 的簽到題 [水題]
時間限制: 1 Sec 內存限制: 128 MB提交: 867 解決: 221 統計
題目描述
QAQ 的好朋友 ORZ,最近在做一個選拔節目的評委,對於每位選手 ORZ 想知道在這個選手以及這位選手前面的的選手中,得分最高和最低的選手的序號分別是多少....
ORZ 找了 QAQ 幫忙,但是 QAQ 最近在追火星情報局....所以你可以幫助 QAQ 解決 ORZ 的問題嗎?
輸入
第一行一個數 T
(1≤T≤101≤T≤10),表示 T
組測試數據
第二行一個數 n
(1≤n≤1051≤n≤105 ),表示有 n
位選手
接下來 n
行,每行一個數 a
(1≤a≤1081≤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;
}