码迷,mamicode.com
首页 > 其他好文 > 详细

杭电1425 sort

时间:2015-07-22 18:51:32      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:

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
Hint
Hint
请用VC/VC++提交
 


/*//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

标签:

原文地址:http://blog.csdn.net/yuzhiwei1995/article/details/47006617

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!