題目位址:
https://www.luogu.com.cn/problem/P1567
題目描述:
炎熱的夏日,KC非常的不爽。他甯可忍受北極的寒冷,也不願忍受廈門的夏天。最近,他開始研究天氣的變化。他希望用研究的結果預測未來的天氣。經曆千辛萬苦,他收集了連續 N ( 1 ≤ N ≤ 1 0 6 ) N(1≤N≤10^6) N(1≤N≤106)的最高氣溫資料。現在,他想知道最高氣溫一直上升的最長連續天數。
輸入格式:
第 1 1 1行:一個整數 N N N。 1 ≤ N ≤ 1 0 6 1≤N≤10^6 1≤N≤106
第 2 2 2行: N N N個空格隔開的整數,表示連續 N N N天的最高氣溫。 0 ≤ 最 高 氣 溫 ≤ 1 0 9 0≤ 最高氣溫≤10^9 0≤最高氣溫≤109。
輸出格式:
1 1 1行:一個整數,表示最高氣溫一直上升的最長連續天數。
代碼如下:
#include <iostream>
using namespace std;
int n, res, cnt, last;
int main() {
cin >> n;
last = -1;
for (int i = 1; i <= n; i++) {
int x;
cin >> x;
if (x > last) cnt++;
else cnt = 1;
last = x;
res = max(res, cnt);
}
printf("%d\n", res);
return 0;
}
時間複雜度 O ( n ) O(n) O(n),空間 O ( 1 ) O(1) O(1)。