hd1425

news/2024/11/29 23:52:27/

sort

Time Limit : 6000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other)

Problem Description

给你n个整数,请按从大到小的顺序输出其中前m大的数。

Input

每组测试数据有两行,第一行有两个数n,m(0<n,m<1000000),第二行包含n个各不相同,且都处于区间[-500000,500000]的整数。

Output

对每组测试数据按从大到小的顺序输出前m大的数。

Sample Input

5 3
3 -35 92 213 -644

Sample Output

213 92 3
就是快排非常简单的应用。。。。
 
#include<stdio.h>
int s[1000001];
/*int partition(int *a,int l,int h)//注释掉的是开始写的从小到大的
{int v=a[l];int i=l,j=h+1;while(1){while(a[++i]<v)if(i==h)break;while(a[--j]>v)if(j==l)break;if(i>=j)break;int t=a[i];a[i]=a[j];a[j]=t;}int t=a[j];a[j]=a[l];a[l]=t;return j;
}
void q_sort(int *a,int l,int h)
{if(l>=h)return ;int j=partition(a,l,h);q_sort(a,l,j-1);q_sort(a,j+1,h);
}*/
int partition(int *a,int l,int h)//这是从大到小的,都一样。。。。
{int v=a[l];int i=l,j=h+1;while(1){while(a[++i]>v)if(i==h)break;while(a[--j]<v)if(j==l)break;if(i>=j)break;int t=a[i];a[i]=a[j];a[j]=t;}int t=a[j];a[j]=a[l];a[l]=t;return j;
}
void q_sort(int *a,int l,int h)
{if(l>=h)return ;int j=partition(a,l,h);q_sort(a,l,j-1);q_sort(a,j+1,h);
}
int main()
{int n,m,i;while(~scanf("%d%d",&n,&m)){for(i=1;i<=n;++i){scanf("%d",&s[i]);}q_sort(s,1,n);printf("%d",s[1]);for(i=2;i<=m;++i)printf(" %d",s[i]);//printf("%d",s[n]);//for(i=n-1;i>n-m;i--)printf(" %d",s[i]);printf("\n");}return 0;
}

http://www.ppmy.cn/news/234451.html

相关文章

HDU 1425 sort

1.本题为多组输入&#xff0c;虽然题目没说 2.百万的数组定义成全局变量 3.用scanf 、printf 代替cin、cout 4.注意最终结果的输出格式 #include<bits/stdc.h> using namespace std; int num[1000005]; bool cmp(int a,int b) {return a>b; } int main() {int n,m…

HDU-1425 排序

WFU寒假训练<十二> sort Time Limit: 6000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 81178 Accepted Submission(s): 21044 Problem Description 给你n个整数&#xff0c;请按从大到小的顺序输出其中前m大的数。 Inp…

51nod 减减数1425

题意&#xff1a; 1425 减减数 1.0 秒 131,072.0 KB 80 分 5级题 初始给定一个整数n。每次可以对其做一个操作&#xff0c;这个操作是将n减去他其中的某一位。得到新的一个数字n’,然后继续操作&#xff0c;直到他变成0为止。 比如24这个例子&#xff0c;24 → 20 → 18 → 1…

1425:质数和

1425:质数和 描述 有一个ab位的正整数&#xff0c;前a位是质数&#xff0c;后b位也是质数&#xff0c;求所有符合条件的数字和。 注意&#xff1a;前a位的质数不可以0开头&#xff0c;否则拼出的数字不是ab位。后b位的质数可以是0开头。例如当a1&#xff0c;b2时&#xff0c;2…

P1425 小鱼的游泳时间 题解

这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题&#xff0c;有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个…

hdoj1425

题目大意&#xff1a; 如题所述 解题思路&#xff1a; 用空间换时间&#xff0c;定义一个大数组&#xff0c;然后输出即可 代码如下&#xff1a; #include <stdio.h> #include <string.h> #define MAX 1000002 int data[MAX]; int main(void) { int m,n,…

HDU1425

传送门&#xff1a;http://acm.hdu.edu.cn/showproblem.php?pid1425 排序一下输出前n个&#xff0c;最后一个数后面有空格会报错&#xff01; #include<iostream> #include<algorithm> #define Max 10000005 using namespace std; int arr[Max]; int main() {i…

HDU - 1425 sort

OJ地址&#xff1a;https://vjudge.net/problem/HDU-1425 给你n个整数&#xff0c;请按从大到小的顺序输出其中前m大的数。 Input 每组测试数据有两行&#xff0c;第一行有两个数n,m(0<n,m<1000000)&#xff0c;第二行包含n个各不相同&#xff0c;且都处于区间[-50000…