#-*-coding:utf-8 -*-  大佬方法好强  改成了python版本 n = int(raw_input()) p = map(int ,raw_input().strip().split()[:n]) k = int(raw_input()) sum1 = [0 for i in range(n+1)] ans = [-1 for i in range(n+1)]#存储第一次出现某一个数的下标的值ans【1】 = 2就是表示余数为1在是第二个数 res = -1 for i in range(1,n+1):     sum1[i] =sum1[i-1]+p[i-1]     m = sum1[i]%k     if ans[m]==-1:         ans[m]=i     else:         res = max(res,i-ans[m]) print max(0,res)
点赞 评论

相关推荐

等闲_:小红书基本不区分日常和暑期,你是应届实习时间够了就有转正机会,只要部门有hc
点赞 评论 收藏
分享
2025-12-17 17:15
华东师范大学 运营
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务