1. 程式人生 > >NOIP 2009 普及組 複賽 score 分數線劃定

NOIP 2009 普及組 複賽 score 分數線劃定

#include <stdio.h>
struct node{
    int k;
    int s;
}p[10000],mid,t;

int main(){
    int n,m,q;
    int i,j;
    int count=0;
    scanf("%d%d",&n,&m);
    for(i=0;i<n;i++)
        scanf("%d%d",&p[i].k,&p[i].s);
    for(i=0;i<n;i++)
        for(j=i+1;j<n;j++)
            if(p[i].s<p[j].s){
                t=p[i];
                p[i]=p[j];
                p[j]=t;
            }else if(p[i].s==p[j].s){
                if(p[i].k>p[j].k){
                    t=p[i];
                    p[i]=p[j];
                    p[j]=t;
                }
            }
    q=m*1.5;
    for(i=0;i<n;i++)
        if(p[i].s>=p[q-1].s)//此處寫成 if(p[i].s>=p[q].s)錯了測試點2,測試點10
            count++;
        else
            break;
    printf("%d %d\n",p[q-1].s,count);//此處寫成 if(p[i].s>=p[q].s)錯了測試點2,測試點10  
    for(i=0;i<count;i++)
        printf("%d %d\n",p[i].k,p[i].s);
    return 0;
}