[ACdream 1099] 瑶瑶的第K大
瑶瑶的第K大
Problem Description
一天,萌萌的妹子--瑶瑶(tsyao)很无聊,就来找你玩。可是你们都不知道玩什么。。。尴尬了一阵子,机智的瑶瑶就提议:“这样吧,你说N个整数xi,然后在随意说一个数字k,我能够快速地说出这些数字里面第 k 大的数字。”
Input
第1行 两个整数N, K以空格隔开;
第2行 有N个整数(可出现相同数字,均为随机生成),同样以空格隔开。
0 < n ≤ 5*10^6 , 0 < k ≤ n
1 ≤ xi ≤ 10^8
Output
Sample Input
5 2
5 4 1 3 1
Sample Output
4
Hint
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
#define N 6000010 int n,k;
int a[N]; int input()
{
int ans=;
char a;
while((a=getchar())<''||a>'');
ans=a-'';
while((a=getchar())>=''&&a<='')
{
ans=ans*+a-'';
}
return ans;
}
int qsort(int s,int t)
{
int i=s,j=t,tmp;
if(s<t)
{
tmp=a[s];
while(i!=j)
{
while(j>i && a[j]<=tmp) j--;
a[i]=a[j];
while(i<j && a[i]>=tmp) i++;
a[j]=a[i];
}
a[i]=tmp;
if(k==i) return a[i];
else if(k<i) return qsort(s,i-);
else return qsort(i+,t);
}
}
int main()
{
n=input();
k=input();
for(int i=;i<=n;i++)
a[i]=input();
printf("%d\n",qsort(,n));
return ;
}
[ACdream 1099] 瑶瑶的第K大的更多相关文章
- ACdream 1099——瑶瑶的第K大——————【快排舍半,输入外挂】
瑶瑶的第K大 Time Limit:2000MS Memory Limit:128000KB 64bit IO Format:%lld & %llu Submit Status ...
- ACdream 1099求第k大
题目链接 瑶瑶的第K大 Time Limit: 10000/5000MS (Java/Others)Memory Limit: 512000/256000KB (Java/Others) Submit ...
- [ACdream]瑶瑶带你玩激光坦克
题目链接:http://acdream.info/contest?cid=1269#problem-B Problem Description 有一款名为激光坦克的游戏,游戏规则是用一个坦克发出激光来 ...
- ACdream 1103 瑶瑶正式成为CEO(树链剖分+费用流)
Problem Description 瑶瑶(tsyao)是某知名货运公司(顺丰)的老板,这个公司很大,货物运输量极大,因此公司修建了许多交通设施,掌控了一个国家的交通运输. 这个国家有n座城市,公司 ...
- ACdream 1104 瑶瑶想找回文串(SplayTree + Hash + 二分)
Problem Description 刚学完后缀数组求回文串的瑶瑶(tsyao)想到了另一个问题:如果能够对字符串做一些修改,怎么在每次询问时知道以某个字符为中心的最长回文串长度呢?因为瑶瑶整天只知 ...
- acdream 瑶瑶带你玩激光坦克 (模拟)
瑶瑶带你玩激光坦克 Time Limit: 2000/1000MS (Java/Others) Memory Limit: 256000/128000KB (Java/Others) Submi ...
- [LeetCode] Kth Largest Element in an Array 数组中第k大的数字
Find the kth largest element in an unsorted array. Note that it is the kth largest element in the so ...
- POJ2985 The k-th Largest Group[树状数组求第k大值+并查集||treap+并查集]
The k-th Largest Group Time Limit: 2000MS Memory Limit: 131072K Total Submissions: 8807 Accepted ...
- 区间第K大(一)
Problem: 给定无序序列S:[b, e),求S中第K大的元素. Solution 1.裸排序 2.现将区间均分成两段,S1, S2,对S1,S2分别排序,然后
随机推荐
- html 元素添加 class
<!-- 给 input 添加 class 一个input 可以添加多个class 中间空格隔开. --> @Html.TextBox("txtIDNumber", & ...
- (转)Qt Model/View 学习笔记 (一)——Qt Model/View模式简介
Qt Model/View模式简介 Qt 4推出了一组新的item view类,它们使用model/view结构来管理数据与表示层的关系.这种结构带来的 功能上的分离给了开发人员更大的弹性来定制数据项 ...
- 详解Javascript中的Array对象
基础介绍 创建数组 和Object对象一样,创建Array也有2种方式:构造函数.字面量法. 构造函数创建 使用构造函数的方式可以通过new关键字来声明,如下所示: 12 var arr = new ...
- ViewData,ViewBag和TempData
ViewData ViewBag TempData 类型 字典 Dynamic TempDataDictionary 出生时间 MVC1 MVC3 框架版本 .net3.5 .net4.0 ...
- 中文变英文字母(ios)
[_EnglishName setString:addressPerson.name]; if (CFStringTransform((__bridge CFMutableStringRef)_Eng ...
- div蒙版+可移动
<html> <head> <title></title> <script src="jquery-1.8.2.js&q ...
- CLSID {91493441-5A91-11CF-8700-00AA0060263B}错误
最近遇到一个棘手的问题,在C#中处理PPT转HTML的过程中需要用到COM组件,按照往常的设置如下: 1. Start->Run->DCOMCNFG->Component Servi ...
- Delphi XE5 android 捕获几个事件
以下代码能监控到以下几个事件: FinishedLaunching BecameActive WillBecomeInactive EnteredBackground Wi ...
- having——至少被订购过两回的订单
此篇介绍having的用法 一.表:订单表,产品表 说明:订单表order ,包含prodectid 二.查询至少被订购过两回的订单 800x600 Normal 0 7.8 磅 0 2 false ...
- uva 10069
简单的dp 但是一个大数加法 套用了末位大牛的类模板 #include <cstdio> #include <cstring> #include <algorithm& ...