链接:https://ac.nowcoder.com/acm/contest/71086/N
来源:牛客网
圣诞节临近,彩虹岛的黑心商人𝑐𝑡𝑟的糖果店又开始热闹了起来,热心的𝑠𝑙𝑝来到𝑐𝑡𝑟的店里面帮忙包装糖果。店里面共有𝑛堆糖果,其中第𝑖堆有𝑎𝑖颗糖果,𝑐𝑡𝑟让𝑠𝑙𝑝从中选择两堆糖果,这两堆糖果中每𝑝 颗包装在一起,如果最后还有剩余就归𝑠𝑙𝑝所有了,若两堆不足𝑝个则全部归𝑠𝑙𝑝所有。作为糖果狂热爱好者,𝑠𝑙𝑝当然是想拿走尽量多的糖果,因此他想知道自己最多能够拿走多少糖
对于这个题目我实现的代码如下:
#include<stdio.h>
#include<assert.h>
#include<malloc.h>
int main()
{
int t;
scanf("%d", &t);
int n, p;
int *a;
int sum = 0;
int sum1 = 0;
int x;
while (t--)
{
scanf("%d%d", &n, &p);
a = (int*)malloc(sizeof(int) * n);
assert(a != NULL);
for (int i = 0; i < n; i++)
{
scanf("%d", &a[i]);
}
for (int i = 0; i < n; i++)
{
for (int j = i+1; j <n; j++)
{
int q = a[i] + a[j];
sum = q % p;
if (sum > sum1)
{
sum1 = sum;
}
}
}
printf("%d\n", sum1);
free(a);
}
return 0;
}
```c
在牛客网上自测运行时可以通过但是提交时却显示超时,不知道什么原因,求大佬解答
```