板橋高中98-2模擬測驗 B-成績單
作法: 內建快排
由於遞回快排超過10萬次(約)就會爆掉,所以用內建吧
/*********************************************************/
#include<stdlib.h>
#include<stdio.h>
int s1[1000000],s2[1000000];
int compare(const void *a,const void *b)
{
int *aa=(int*)a,*bb=(int*)b;
if(*aa>*bb) return -1;
if(*aa==*bb) return 0;
if(*aa<*bb) return 1;
}
int input()
{
char cha;
int x=0;
while(cha=getchar())
if(cha!=' '&&cha!='\n') break;
x=cha-48;
while(cha=getchar())
{
if(cha==' '||cha=='\n') break;
x=x*10+cha-48;
}
return x;
}
main()
{
int N,top1=0,top2=0,k,a,b;
scanf("%d",&N);
while(N--)
{
a=input();b=input();
if(a==1)
s1[top1++]=b;
else
s2[top2++]=b;
}
qsort(s1,top1,sizeof(int),compare);
qsort(s2,top2,sizeof(int),compare);
scanf("%d",&k);
if(s1[k-1]>s2[k-1])
printf("1 %d\n",s1[k-1]-s2[k-1]);
else
printf("2 %d\n",s2[k-1]-s1[k-1]);
return 0;
}
下一篇:USACO C-分堆大考驗