不懂,为什么下载了第一个数据点,在vs上跑的结果和out里一摸一样,但是只给我wa啊?代码如下
#include<stdio.h>
#include<stdlib.h>
typedef struct
{
int x;
bool flag;
}Elem;
int com(const void* e1, const void* e2)
{
return ((Elem*)e1)->x - ((Elem*)e2)->x;
}
int main()
{
int lim, n;
Elem arr[30001];
scanf("%d%d", &lim, &n);
for (int i = 0; i < n; i++)
{
scanf("%d", arr + i);
}
qsort(arr, n, sizeof(Elem), com);
int i = 0, j = n - 1, num = 0;
while (arr[i].flag)
{
if (arr[i].x + arr[i].x <= lim)
{
while (j >i && arr[j].x > lim - arr[i].x) { j--; }
if (j >i)
{
arr[j].flag = 0;
arr[i].flag = 0;
num++;
}
else
{
break;
}
i++;
j--;
}
else
{
break;
}
}
for (int i = 0; i < n; i++)
{
{
if (arr[i].flag)
num++;
}
}
printf("%d", num);
return 0;
}