import java.util.Scanner; public class ObtainSubString { public static void main(String args[]){ Scanner sc = new Scanner(System.in); while (sc.hasNext()) { int k = sc.nextInt();//数字个数 String a = sc.nextLine(); String[] str = sc.nextLine().split(" "); int n = sc.nextInt();//第三行数 int sum = 0; int[] num = new int[k]; for (int i = 0;i < k;i++) { num[i] = Integer.parseInt(str[i]); sum = sum + num[i];//总和 } int m = k;//原数组长度 //循环取子串去验证,子串的长度递减 while (sum%n != 0 && k > 0) { k--;//子串长度减一 for(int i = 0;i <= m-k;i++) {//取子串,每次从第i个元素开始取长度为k的子串 sum = 0; for (int j = i; j < k+i; j++) {//子序列相加和 sum += num[j]; } if (sum%n == 0) {//能整除就跳出循环 break; } } } System.out.println(k);//输出子串长度 } } }
点赞 3

相关推荐

点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务