社区讨论
下载第一个数据点,在vs上跑的结果和out一样,但是只给我wa
P1094[NOIP 2007 普及组] 纪念品分组参与者 2已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @lra039sj
- 此快照首次捕获于
- 2024/01/12 10:09 2 年前
- 此快照最后确认于
- 2024/01/12 17:19 2 年前
不懂,为什么下载了第一个数据点,在vs上跑的结果和out里一摸一样,但是只给我wa啊?代码如下
C#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;
}
回复
共 1 条回复,欢迎继续交流。
正在加载回复...