数组开小了,开大一百倍就能过了
by Ryan_ @ 2019-06-24 10:23:46
貌似十倍就够了
by Ryan_ @ 2019-06-24 10:24:16
@[四大神笔](/space/show?uid=168013)
```cpp
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
using namespace std;
int n,a[1000001],s=0,maxx=0;
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=1;i<=n;i++){
if(a[i+1]<=a[i]){
s=0;
}
if(a[i]<a[i+1]){
s++;
}
if(s>maxx){
maxx=s;
}
}
cout<<maxx+1;
return 0;
}
```
看看我的代码吧,思路都一样
by 哈哈哈哈?? @ 2019-06-24 10:30:56
#### 个人意见仅供参考
判断连续上升的天数其实包含一个比较隐性的条件。比如
1 2 2 2 3 4
这样也算作是连续上升的天数。因为实质上题目求的是最大递增子序列。
所以第九行开始的代码
```cpp
for(int i=1;i<=n-1;i++){
if(a[i]<a[i+1]){
max++;
}
```
应该改成
```cpp
for(int i=1;i<=n-1;i++){
if(a[i]=<a[i+1]){
max++;
}
```
修改的地方是判断条件:
```cpp
a[i]=<a[i+1]
```
by jstlxz @ 2019-06-24 10:42:18
@[四大神笔](/space/show?uid=168013) ```#include<stdio.h>
int main(){
int n;
long m,m1=-1,k=0,k1=0;
int i;
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%ld",&m);
if(m1<m) k++;
else{
if(k1<k) k1=k;
k=1;
}
m1=m;
}
printf("%ld\n",k1);
return 0;
}```
你自己看吧
by ljl123456789 @ 2019-07-18 19:49:03
@[四大神笔](/space/show?uid=168013)
```
#include<stdio.h>
int main(){
int n;
long m,m1=-1,k=0,k1=0;
int i;
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%ld",&m);
if(m1<m) k++;
else{
if(k1<k) k1=k;
k=1;
}
m1=m;
}
printf("%ld\n",k1);
return 0;
}
```
by ljl123456789 @ 2019-07-18 19:51:17
@[四大神笔](/space/show?uid=168013)
```
for(int i=1;i<=n-1;i++)
i<=n-1//错了
```
by ljl123456789 @ 2019-07-18 19:53:46