NOIP 2009 普及組 複賽 score 分數線劃定
阿新 • • 發佈:2019-01-03
#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;
}
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;
}