Cod sursa(job #1804764)

Utilizator iulianrotaruRotaru Gheorghe-Iulian iulianrotaru Data 12 noiembrie 2016 22:36:17
Problema Pachete Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include<bits/stdc++.h>
#define mp make_pair
#define pb push_back
using namespace std;
ifstream f("pachete.in");
ofstream g("pachete.out");
int i,j,x,n,y,sx,sy,sol;
vector<pair<int,int> >p[4];
set<int>s;
set<int>::iterator it;
int main()
{
    f>>n>>sx>>sy;
    for(i=1;i<=n;++i)
    {
        f>>x>>y;
        if(x>sx)
        {
            if(y>sy) p[0].pb(mp(x,y));
            else p[1].pb(mp(x,-y));
        }
        else
        {
            if(y>sy) p[2].pb(mp(-x,y));
            else p[3].pb(mp(-x,-y));
        }
    }
    for(i=0;i<4;++i)
    {
        sort(p[i].begin(),p[i].end());
        s.clear();
        for(j=0;j<p[i].size();++j)
        {
            it=s.lower_bound(-p[i][j].second);
            if(it!=s.end()) s.erase(it);
            s.insert(-p[i][j].second);
        }
        sol+=s.size();
    }
    g<<sol;
    return 0;
}