社区讨论

不知道哪里错了,求大佬帮看

B4310[蓝桥杯青少年组国赛 2024] 第五题参与者 3已保存回复 5

讨论操作

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

当前回复
5 条
当前快照
1 份
快照标识符
@mj8jjx1k
此快照首次捕获于
2025/12/16 20:10
2 个月前
此快照最后确认于
2025/12/19 20:35
2 个月前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
long long a[100001],b[100001];
int main(){
	long long k,n,final=0,finally=0,length=0;
	cin>>n;
	cin>>k;
	for(int i=1;i<=n;i++){
		cin>>a[i];
		b[i]=b[i-1]+a[i];
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=i;j++){
			if((b[i]-b[j-1])%k==0){
				if((i-j+1)>length){
					length=i-j+1;
				}
				if(j>=final){
					final=j;
				}
			}
			
		}
	}
	for(int i=final;i<=n;i++){
		if((b[i]-b[final-1])%k==0){
			if(finally<=i){
				i=finally;
			}
		}
	}
	
	if(length==0){
		cout<<"-1";
	}
	else{
		cout<<length<<endl;
		for(int i=final;i<=finally;i++){
			cout<<a[i];
		}
	}
	return 0;
	
}
求救!!!

回复

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

正在加载回复...