uva10057A mid-summer night's dream.

来源:互联网 发布:kuka机器人编程实例 编辑:程序博客网 时间:2024/06/07 20:32

开始题目理解错了,wa了几次。

第二个数字是指input里面满足要求的所有数字的个数,我理解成了最小的那个数字的个数。。。。

整体比较简单,就是找中位数

#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#define MAX 70000using namespace std;int  N,s[MAX];int all,small,MAXX;void solve(){    int i=0,j,t,help;    for(j=0;j<=MAXX;j++)    {        i+=s[j];        if(i>=all-i)            break;    }    if(i>all-i)    {        t=j,help=0;    }    else    {        help=1;        for(t=j+1;t<=MAXX;t++)        {            if(s[t]!=0)            break;        }    }    printf("%d %d %d\n",j,s[j]+help,t-j+1);}int main(){    int i,j;    while(scanf("%d",&N)!=EOF)    {        all=0;        MAXX=-1;        memset(s,0,MAX*4);        for(i=0;i<N;i++)        {            scanf("%d",&j);            all++;            s[j]++;            if(j>MAXX)                MAXX=j;        }        solve();    }    return 0;}


0 0