hdu1157
来源:互联网 发布:销售数据分析表 编辑:程序博客网 时间:2024/05/29 15:51
Who's in the Middle
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 9366 Accepted Submission(s): 4512
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1157Problem Description
FJ is surveying his herd to find the most average cow. He wants to know how much milk this 'median' cow gives: half of the cows give as much or more than the median; half give as much or less.
Given an odd number of cows N (1 <= N < 10,000) and their milk output (1..1,000,000), find the median amount of milk given such that at least half the cows give the same amount of milk or more and at least half give the same or less.
Given an odd number of cows N (1 <= N < 10,000) and their milk output (1..1,000,000), find the median amount of milk given such that at least half the cows give the same amount of milk or more and at least half give the same or less.
Input
* Line 1: A single integer N
* Lines 2..N+1: Each line contains a single integer that is the milk output of one cow.
* Lines 2..N+1: Each line contains a single integer that is the milk output of one cow.
Output
* Line 1: A single integer that is the median milk output.
Sample Input
524135
Sample Output
3HintINPUT DETAILS: Five cows with milk outputs of 1..5 OUTPUT DETAILS: 1 and 2 are below 3; 4 and 5 are above 3.解题思路:简单地求数组中位数,第一次快排+a[n / 2]最后AC了,但是Arthur曾经说过这个可以卡时间的,于是用 nth_element 又交了次,同样AC。注: nth_element(start , a + k , end) 是用来找出一个数组的第K大数完整代码:<pre name="code" class="cpp">#include <functional>#include <algorithm>#include <iostream>#include <fstream>#include <sstream>#include <iomanip>#include <numeric>#include <cstring>#include <climits>#include <cassert>#include <complex>#include <cstdio>#include <string>#include <vector>#include <bitset>#include <queue>#include <stack>#include <cmath>#include <ctime>#include <list>#include <set>#include <map>using namespace std;#pragma comment(linker, "/STACK:102400000,102400000")typedef long long LL;typedef double DB;typedef unsigned uint;typedef unsigned long long uLL;/** Constant List .. **/ //{const int MOD = int(1e9)+7;const int INF = 0x3f3f3f3f;const LL INFF = 0x3f3f3f3f3f3f3f3fLL;const DB EPS = 1e-9;const DB OO = 1e20;const DB PI = acos(-1.0); //M_PI;int a[100000001];int main(){ #ifdef DoubleQ freopen("in.txt","r",stdin); #endif int n; while(~scanf("%d",&n)) { for(int i = 0 ; i < n ; i ++) scanf("%d",&a[i]); //sort(a , a + n); nth_element(a , a + n / 2 , a + n); printf("%d\n",a[n / 2]); }}
0 0
- hdu1157
- hdu1157
- HDU1157
- hdu1157解题报告
- HDU1157 连连看
- HDU1157寻找中位数
- HDU1157:Who's in the Middle
- HDU1157 Who's in the Middle
- HDU1157 Who's in the Middle
- HDU1157 POJ2338 Who's in the Middle
- HDU1157 Who's in the Middle
- hdu1157 Who's in the Middle
- POJ2388 HDU1157 Who's in the Middle【中位数+排序】
- Hdu1157 完全的水题,排序找中值的
- 快速排序浅谈——(解题报告)HDU1157和POJ2388---Who's in the Middle
- Codeforces 459C
- POJ 1742
- 明星软件工程师的10种特质(转)
- 受保护的excel:取消密码保护状态
- "Insufficient RAM for Flash Algorithms"出错原因及解决方案
- hdu1157
- Dynamic Web TWAINTWAIN扫描识别工具添加文本到图像
- 蝉知门户系统迁移到SAE平台-对蝉知2.5版本部分功能的限制
- 关于 tun/tap 设备
- linux shell 字符串操作(长度,查找,替换)详解
- linux中自动例程
- 快速设置环境变量
- 配置yum举例
- Dynamic Web TWAIN扫描识别工具改变缓冲区图像大小