我的感觉跟你差不多啊
by mnesia @ 2020-02-17 07:25:02
@[Hanabi_awg](/user/283182) **一定别抄,仅供参考!**
```cpp
#include <iostream>
using namespace std;
int main()
{
int n,maxx = 0,cnt = 0;
cin >> n;
int days[n + 1] = {0};
for(int i = 1;i <= n;i++)
{
cin >> days[i];
if(days[i] > days[i - 1])
cnt++;
else
{
maxx = cnt > maxx ? cnt : maxx;
cnt = 1;
}
}
cout << maxx;
return 0;
}
```
by mnesia @ 2020-02-17 07:27:24
@[Hanabi_awg](/user/283182) 你的do-while是做什么的,直接if语句就可以了啊。
```cpp
#include<iostream>
using namespace std;
int a[10000000];
int main(){
int n,i,j;
long long max=0,t=0;
cin>>n;
cin>>a[0];
//cout<<"53425353426523453495783465523746574836578934657423657834637896792346578346785263497856234959347856893476583495234865"<<endl;
for(i=1;i<n;i++){
//t=0;
cin>>a[i];
//printf("a[%d]=%d,a[%d]=%d\n",i,a[i],i-1,a[i-1]);
//cout<<(a[i]>a[i-1])<<endl;
if(a[i]>a[i-1]){
t++;
//cout<<"t="<<t<<endl;
}else{
t=0;
}
if(t>max){
max=t;
}
}
cout<<max+1;
}
```
by xh39 @ 2020-02-17 07:35:45
@[Hanabi_awg](/user/283182)
边界问题,你的 $t_0$ 没有赋初值但是你调用了,
by Retired_lvmao @ 2020-02-17 08:06:46
@[i_am_aking_ioi](/user/87799) do 做一遍是先把第一次连续天数赋给max,while是判断后面是否出现更长的连续天数 如果有就赋值
by Hanabi_awg @ 2020-02-17 18:50:18
@[lv_mao_da_lao](/user/133520) 大佬可否具体一点指出哪行代码越界了呢
我是习惯从第二个数组开始赋值,并且检查过越界问题
by Hanabi_awg @ 2020-02-17 18:51:35
@[mnesia](/user/115711) 好的 谢谢
by Hanabi_awg @ 2020-02-17 18:52:00
@[Hanabi_awg](/user/283182)
你数组开太小了。。。
by Retired_lvmao @ 2020-02-17 20:26:00
@[lv_mao_da_lao](/user/133520) 试了下 数组开到1000001 vs直接报错,并且还是一堆WA...
by Hanabi_awg @ 2020-02-18 02:07:38
@[Hanabi_awg](/user/283182)
太大的数组不可以开在 main 函数内部
by Retired_lvmao @ 2020-02-18 07:50:42