竞赛讨论区 > 还有20%过不去,大佬给看下。

还有20%过不去,大佬给看下。

头像
xingyue416
发布于 2020-01-31 11:30:35 APP内打开
赞 1 | 收藏 0 | 回复2 | 浏览732
#include<stdio.h>
struct stu{
    int num;
    int mark;
};
int main(void)
{
    int n,m,i,j,min,max,t;
    struct stu c[5001];
    scanf("%d%d",&n,&m);
    m=m+m/2;
    for(i=0;i<n;i++)
        scanf("%d%d",&c[i].num,&c[i].mark);
    for(i=0;i<n-1;i++)
    {
        max=i;
        for(j=i+1;j<n;j++)
            max=(c[max].mark>=c[j].mark)?max:j;
        if(max!=i)
            c[5000]=c[i],c[i]=c[max],c[max]=c[5000];
    }
    t=c[m].mark;
    for(i=0;c[i].mark>=t;i++)
    {
        min=i;
        for(j=i+1;c[j].mark==c[i].mark;j++)
        min=(c[min].num<=c[j].num)?min:j;
        if(min!=i)
            c[5000]=c[i],c[i]=c[min],c[min]=c[5000];
    }
    printf("%d %d\n",t,i);
    t=i;
    for(i=0;i<t;i++)
        printf("%d %d\n",c[i].num,c[i].mark);
    return 0;
}

2条回帖

回帖
加载中...
话题 回帖

本文相关内容

等你来战

查看全部

热门推荐