UVA - 10057 A mid-summer night's dream.
2016-11-17 15:34
417 查看
题目大意:给出一组数(X1,X2…Xn),求一个数 A 使得 (|X1−A|+|X2−A|+…+|Xn−A|) 最小,输出三个数:第一个是最小的A,第二个数是数列 Xn 中有多少个数可以是 A,第三个数是 A 的总个数( A 不一定在 Xn 中)
解题思路:求中位数,分奇偶数算
解题思路:求中位数,分奇偶数算
#include<iostream> #include<cstdio> #include<cmath> #include<string.h> #include<stdlib.h> #include<algorithm> #include<queue> #include<map> using namespace std; const int MAXN = 1000000+10; int num[MAXN]; int cnt, mas, ans; int main() { int n; while (scanf("%d", &n) != EOF) { for (int i = 0; i < n; i++) scanf("%d", & num[i]); sort (num, num+n); cnt = 0; if (n%2) { mas = num[n/2]; for (int i = 0; i < n; i++) if (num[i] == mas) cnt++; ans = 1; } else { int lef = num[n/2-1]; int rig = num[n/2]; mas = lef; for (int i = n/2-1; i >= 0; i--) if (num[i] == lef) cnt++; for (int i = n/2; i < n; i++) if (num[i] == rig) cnt++; ans = rig - lef + 1; } printf("%d %d %d\n", mas, cnt, ans); } return 0; }
相关文章推荐
- uva 10057 A mid-summer night’s dream 夏天晚上的梦
- UVa 10057 - A mid-summer night's dream.
- UVA - 10057 A mid-summer night's dream.
- UVA - 10057 A mid-summer night's dream.
- UVA 10057 A mid-summer night's dream.
- uva 10057 A mid-summer night’s dream(中位数)
- uva 10057 A mid-summer night's dream.(检索)
- UVA - 10057 A mid-summer night's dream
- Uva 10057 A mid-summer night's dream
- UVA - 10057 A mid-summer night's dream.
- A mid-summer night’s dream - UVa 10057 中位数
- UVa 10057 - A mid-summer night's dream.
- 10057 - A mid-summer night's dream.
- uva10057 - A mid-summer night's dream
- uva 10057 - A mid-summer night's dream.
- UVA 10057 A mid-summer night's dream.
- UVA - 10057 A mid-summer night's dream. 求中位数
- UVA - 10057 A mid-summer night's dream.
- UVA - 10057 A mid-summer night's dream. 子序列
- uva 10057 - A mid-summer night's dream.