没错,我又来了
by fresh_boy @ 2020-03-06 23:05:54
@[mima5478963210a](/user/218150) 首先我觉得你有一个问题,就是你最后一个nd输入之后就结束了,这个判定不到
by fresh_boy @ 2020-03-06 23:10:30
@[mima5478963210a](/user/218150) 好了,你的问题是让d=1的条件,你只有d<dmax的时候才让d=1,但实际上,只要st>=nd就应该让d=1,否则会造成d被继续累加。再者你要把for中的N-1改成N,不然最后一个数据判断不到
by fresh_boy @ 2020-03-06 23:15:56
@[mima5478963210a](/user/218150) 正确的应该是
```cpp
#include<bits/stdc++.h>
using namespace std;
int main(){
int st,nd,d=1,N,dmax=1;
cin>>N>>st>>nd;
for(int i=1;i<N;i++)
{
if(st<nd)
{
d++;
}
if(st>=nd)
d=1;
else if(dmax<=d)
dmax=d;
st=nd;
cin>>nd;
}
cout<<dmax<<endl;
return 0;
}
```
by fresh_boy @ 2020-03-06 23:16:16
@[唱歌的向日葵](/user/225100) 卧槽,果然是大神,几分钟就看出了问题,谢谢大佬!
by ForeverCydia @ 2020-03-07 10:23:59
@[唱歌的向日葵](/user/225100) 不过那里确实是i<N-1,因为N个数据,开头已经初始化了一个,结尾那个是nd不用算,所以st在循环中只有N-2个
by ForeverCydia @ 2020-03-07 10:29:29
@[mima5478963210a](/user/218150) 一样的无所谓
by fresh_boy @ 2020-03-07 11:20:21
@[唱歌的向日葵](/user/225100) 反正不输入就直接停止
by fresh_boy @ 2020-03-07 11:20:34