http://poj.org/problem?id=3664
进行两轮选举,第一轮选前n进入第二轮,第二轮选最高
#include<algorithm>
#include<cstdio>
using namespace std;
struct vote
{
int a,b;
int c;
};
bool cmp1(const vote & a ,const vote & b)
{
return a.a>b.a;
}
bool cmp( const vote& a ,const vote& b)
{
return a.b>b.b;
}
int main()
{
int n,k;
scanf("%d%d",&n,&k);
vote aa[50010];
for(int i=0;i<n;i++)
{
aa[i].c=0;
scanf("%d%d",&aa[i].a,&aa[i].b);
aa[i].c=i+1;
}
sort(aa,aa+n,cmp1);
sort(aa,aa+k,cmp);
printf("%d\n",aa[0].c);
return 0;
}