いろいろがんばりたいブログ

情報科学科の人がいろいろ書きます。

Codeforces 166A RankList

なんかいい感じにソートしたかった。
時間でソートして、解いた問題数でstableソートすればいいんかなって思ったけど、なんかうまいこといかなかった。

#include <iostream>
#include <iomanip>

#include <vector>
#include <map>
#include <set>
#include <queue>
#include <numeric>
#include <algorithm>
#include <utility>

#include <functional>
#include <cctype>

#include <complex>
#include <string>
#include <sstream>

#define pb push_back
#define all(c) c.begin(),c.end()
#define rall(c) c.rbegin(),c.rend()

#define rep(i,n) for(int i=0;i<(n);i++)
#define tr(it,container)                                                         \
    for(typeof(container.begin()) it = container.begin(); it != container.end(); ++it)
#define present(container, element) (container.find(element) != container.end())
#define cpresent(container, element) (find(all(container),element) != container.end())
#define sz(a) ((int)a.size())

typedef long long ll;
const int dx[] = {1,0,-1,0};
const int dy[] = {0,-1,0,1};
const double EPS = 1e-9;

using namespace std;

bool cp(const pair<int,int> &left,const pair<int,int> &right){
    if(left.first == right.first) return left.second < right.second;
    else return left.first > right.first;
}

int main(){
    int n;
    int k;
    cin >> n >> k;
    vector<pair<int,int> > V(n);
    rep(i,n){
        int p,t;
        cin >> p >> t;
        V[i] = make_pair(p,t);
    }

    sort(all(V),cp);

    pair<int,int> kth = V[k-1];

    int ret = count(all(V),kth);
    cout << ret << endl;
    return 0;
}