爲了圖省事不自己寫排序函數,就想着先用sort先排一次,然後剩下的K個就用bublle來排…沒想到竟然TLE,本着將懶人精神發揚到底的信念,我定義了兩個一模一樣的結構體,分別重載了兩個小於號然後用sort排序…儘管看起來有點蠢,但是還是過了……
這會突然想起來找最大值根本不需要排序,直接遍歷一遍就好,看來我還是太蠢惹…
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
#define maxn 50000
struct cows{
int num;
int ta;
int tb;
};
bool operator < (cows a,cows b){
return a.ta>b.ta;
}
struct cowss{
int num;
int ta;
int tb;
};
bool operator < (cowss a,cowss b){
return a.tb>b.tb;
}
int N,K;
cows cow[maxn]={0};
cowss coww[maxn]={0};
int main(){
scanf("%d%d",&N,&K);
for(int i=1;i<=N;++i){
scanf("%d%d",&cow[i].ta,&cow[i].tb);
}
for(int i=1;i<=N;++i){
cow[i].num = i;
}
sort(cow+1,cow+1+N);
for(int i=1;i<=K;++i){
coww[i].num = cow[i].num;
coww[i].tb = cow[i].tb;
}
sort(coww+1,coww+1+K);
printf("%d\n",coww[1].num);
//system("pause");
return 0;
}