站外求调
  • 板块学术版
  • 楼主Ice_rnfmabj
  • 当前回复18
  • 已保存回复23
  • 发布时间2024/7/22 11:18
  • 上次更新2024/7/22 12:19:27
查看原帖
站外求调
695943
Ice_rnfmabj楼主2024/7/22 11:18

小火龙有一个数组 a ,他讨厌整数 x ,所以他希望得到一个所有元素之和不能被 x 整除的非整除子数组,请你告诉他可以得到的最长子数组的长度,如果该子数组不存在,则输出 −1 。

1≤n≤105,1≤x≤104,0≤ai≤1041 \le n \le 10^5,1 \le x \le 10^4,0 \le a_i \le 10^4

TLE 40pts

#include<bits/stdc++.h>
using namespace std;
const int N = 1E5+5;
int n,x,a[N],s[N],ans=-1;
int main(){
    ios::sync_with_stdio(0);
	cin.tie(0);
    cin>>n>>x;
    for(int i=1;i<=n;++i){
        cin>>a[i];
        s[i]=s[i-1]+a[i];
    }
    for(int i=0;i<=n;++i){
        for(int j=i+1;j<=n;++j){
        	int t=s[j]-s[i];
          	if(t%x!=0) ans=max(ans,j-i);
        }
    }
    cout<<ans;
    return 0;
}
2024/7/22 11:18
加载中...