題目:傳送~
problem description
對於包含n(1<=n<=100000)個整數的序列,對於序列中的每一元素,在序列中查詢其位置之後第乙個大於它的值,如果找到,輸出所找到的值,否則,輸出-1。
input
輸入有多組,第一行輸入t(1<=t<=10),表示輸入的組數;
以後是 t 組輸入:每組先輸入n,表示本組序列的元素個數,之後依次輸入本組的n個元素。
output
輸出有多組,每組之間輸出乙個空行(最後一組之後沒有);
每組輸出按照本序列元素的順序,依次逐行輸出當前元素及其查詢結果,兩者之間以-->間隔。
sample input
2sample output4 12 20 15 18
5 20 15 25 30 6
12-->20hint20-->-1
15-->18
18-->-1
20-->25
15-->25
25-->30
30-->-1
6-->-1
本題資料量大、限時要求高,須借助棧來完成。
要用棧來完成,直接附上**:
#include #include int main()
top = 0;
b[n] = -1;//a陣列中最後乙個資料一定找不到對應的最大值,所以直接賦值-1;
for(i = n-1; i >= 1; i--)
else
top--;
}if(f)}}
for(i = 1; i <= n; i++)
printf("%d-->%d\n", a[i], b[i]);
if(k != t)printf("\n");
}return 0;
}
資料結構實驗之棧與佇列六 下一較大值(二)
time limit 150ms memory limit 8000kb submit statistic problem description 對於包含n 1 n 100000 個整數的序列,對於序列中的每一元素,在序列中查詢其位置之後第乙個大於它的值,如果找到,輸出所找到的值,否則,輸出 1。...
資料結構實驗之棧與佇列六 下一較大值(二)
資料結構實驗之棧與佇列六 下一較大值 二 time limit 150 ms memory limit 8000 kib problem description 對於包含n 1 n 100000 個整數的序列,對於序列中的每一元素,在序列中查詢其位置之後第乙個大於它的值,如果找到,輸出所找到的值,否...
資料結構實驗之棧與佇列六 下一較大值(二)
problem description 對於包含n 1 n 100000 個整數的序列,對於序列中的每一元素,在序列中查詢其位置之後第乙個大於它的值,如果找到,輸出所找到的值,否則,輸出 1。input 輸入有多組,第一行輸入t 1 t 10 表示輸入的組數 以後是 t 組輸入 每組先輸入n,表示本...