c题求解答

n,k=map(int,input().split())

a=list(map(int,input().split()))

count=0

for i in range(len(a)):

if a[i]%k==0:

count+=1

a[i]=0

a.sort()

for i in range(count,len(a)):

for j in range(i+1,len(a)):

if (a[i]+a[j])%k==0:

count+=1

a[i]=0

a[j]=0

print(count)

我的代码哪有错误,求大佬解答

全部评论
你这个有重复计算的情况
点赞 回复 分享
发布于 2023-11-05 21:07 福建
类似于这样(c++): for (int i = 1; i <= l; i ++ )         for (int j = i + 1; j <= l; j ++ )             if (e[i] + e[j] == k) {                 ans ++ ;                 swap(e[j], e[l]);                 l -- ;                 swap(e[i], e[l]);                 l -- ;                 i -- ;                 break;             }
点赞 回复 分享
发布于 2023-11-05 20:42 河南
应该把这两个数删掉
点赞 回复 分享
发布于 2023-11-05 20:41 河南
0 % 3 == 0
点赞 回复 分享
发布于 2023-11-05 20:40 河南
卷子用了就不能再写了,你这重复了,可以看一手我的题解,(●'◡&(30209)#39;●)
点赞 回复 分享
发布于 2023-11-05 20:40 湖南

相关推荐

脾气小祖宗:这简历摸到都得狠狠地消毒液洗手😂
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务