
- 这个题N的取值范围较大,很显然,加入数组非常容易超时,那么我们就要避免加入数组
- 这样我们就可以通过输入的变量和它前一个变量来进行比较
- 首先我们输入N,然后我们就可以进行循环,在循环的过程中,我们将上一次循环的a赋值给a1,这样我们就可以通过a和a1的比较,并使用b来计数,并保存在sum中,当所计数的b大于sum时,我们就可以更新sum的值,但是此时b和sum忽略了这个数本身,所以我们将sum+1就是所输出来的答案,代码如下↓
-
#include<stdio.h> int main() { int N,sum=1,i,j; scanf("%d",&N); int a=0,a1,b; for(i=0;i<N;i++) { a1=a; scanf("%d",&a); b=0; for(j=i;a1<a;j--) { a1=a; scanf("%d",&a); b++; } if(b>sum) sum=b; } printf("%d",sum+1); return 0; }
文章讲述了如何通过优化算法处理大范围数值N,避免数组操作导致的超时问题,通过循环结构比较并累计计数,最后输出计数结果。
741

被折叠的 条评论
为什么被折叠?



