社区讨论

论cnt[maxn]={1}与cnt[maxn]={0}的区别

P1420最长连号参与者 4已保存回复 8

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
8 条
当前快照
1 份
快照标识符
@mi6ogw9i
此快照首次捕获于
2025/11/20 08:13
4 个月前
此快照最后确认于
2025/11/20 08:13
4 个月前
查看原帖
AC代码(问题在后面):
CPP
#include<stdio.h>
#include<stdlib.h>
#define maxn 10005
#include<algorithm>
using namespace std;
int n;
int x[maxn]= {0},cnt[maxn]={1};
int j=0;
int main()
{
	scanf("%d",&n);
	for(int i=0; i<n; i++)
	{
		scanf("%d",&x[i]);
	}
	for(int i=0; i<n; i++)
	{
		if(x[i+1]==x[i]+1)
		{
			cnt[j]++;
		}
		if(x[i+2]!=x[i+1]+1) j++;
	}
	sort (cnt+1,cnt+maxn+1);
	printf("%d",cnt[maxn]+1);
	return 0;
}

那么问题来了,为什么把cnt[maxn]={1}换成cnt[maxn]={0}就错了呢!!#

比如
100
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1
这组数据
还请大佬们帮忙费一下脑细胞解释一下

回复

8 条回复,欢迎继续交流。

正在加载回复...