杭电1425 sort
Posted jhcelue
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了杭电1425 sort相关的知识,希望对你有一定的参考价值。
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请用VC/VC++提交HintHint
/*//sort #include<iostream> #include<algorithm> #include<cstdio> #include<cstring> using namespace std; int Num[1000010]; int main() { int N,M,d; while(~scanf("%d%d",&N,&M)) { memset(Num,0,sizeof(Num)); for(int i = 0; i < N; ++i) { scanf("%d",&d); Num[d+500000]++; } int Cnt = 0; for(int i = 1000000; i >= 0; --i) { while(Num[i]) { Num[i]--; Cnt++; if(Cnt != M) printf("%d ",i-500000); else { printf("%d\n",i-500000); } } if(Cnt == M) break; } } return 0; }
//自己写的qsort
/*//sort #include<stdio.h> void quick_sort(int *a,int left,int right)//数组一定得从1開始 { if(left<right) //这个if语句是避免别人调用错误使数组的值变化 //就是有可能再次调用的时候会出现不满足条件的。直接不执行即可了 { int low=left,high=right; a[0]=a[left] ; while(low<high) { while(low<high&&a[high]>=a[0]) { high--; } a[low]=a[high]; while(low<high&&a[low]<=a[0]) { low++; } a[high]=a[low]; } a[low]=a[0];//在这里low和high都一样。由于不满足条件时low是等于high的 //然后把左边和右边用相同的方法。所以选择递归 quick_sort(a,left,low-1); quick_sort(a,low+1,right); } } int a[1000100]; int main() { int n,m,i; while(~scanf("%d%d",&m,&n)) { for(i=1;i<=m;++i) { scanf("%d",a+i); } quick_sort(a,1,m); for(i=m;i>m-n+1;--i) { printf("%d ",a[i]); } printf("%d\n",a[i]); } return 0; } */
/*sort #include<stdio.h> #include<stdlib.h> int cmp(const void *b, const void *c) { return(*(int *)b<*(int *)c); } int a[1000100]; int main() { int n,m,i; while(~scanf("%d%d",&m,&n)) { for(i=0;i<m;++i) { scanf("%d",a+i); } qsort(a,m,sizeof(a[0]),cmp); for(i=0;i<n-1;++i) { printf("%d ",a[i]); } printf("%d\n",a[i]); } return 0; } */
#include<cstdio> #include<algorithm> using namespace std; int main() { int n,i; double a[1000]; while(~scanf("%d",&n)) { for(i=0;i<n;++i) { scanf("%lf",a+i); } sort(a,a+n); double s=0; for(i=1;i<n-1;++i) { s+=a[i]; } printf("%.2lf\n",s/(n-2)); } return 0; }
以上是关于杭电1425 sort的主要内容,如果未能解决你的问题,请参考以下文章