pku 2623 sequence median 水题 解题报告
水题而已.但却让我提交了wa几次,需要总结下:
1. int范围不能超过2的32次方;
2. __int64可以用qsort,但记得修改相应的cmp;
3. 初次分析很重要,要狠且正确.
AC代码:
· #include <stdio.h>
· #include <stdlib.h>
· #include <string.h>
· #include <algorithm>
· using namespace std;
·
· __int64 a[250005];
·
· int cmp(const void *a, const void *b)
· {
· return *(__int64 *)a - *(__int64 *)b;
· }
·
· int main()
· {
· int i;
· int n;
· scanf("%I64d", &n);
· for (i = 1; i <= n; i++)
· {
· scanf("%d", &a[i]);
· }
· sort(a+1, a +n+1);
· //qsort(a + 1, n, sizeof(a[1]), cmp);
· if (n % 2)
· {
· printf("%.1lf/n", (double) a[(n+1)/2]);
· }
· else
· {
· printf("%.1lf/n", (double) (a[n/2] + a[n/2+1]) / 2.0);
· }
· return 0;
· }