Pagini recente » Cod sursa (job #1615444) | Cod sursa (job #2296006) | Cod sursa (job #1471739) | Cod sursa (job #1182107) | Cod sursa (job #1169445)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin ("pachete.in");
ofstream fout ("pachete.out");
struct client
{
int x,y;
}v[50001];
int n,s[50001],l;
bool cmp (client a, client b)
{
return a.x < b.x;
}
int bs (int x)
{
int lo = -1, hi = l+1;
while (hi - lo > 1)
{
int mid = (lo + hi)/2;
if (x < s[mid])
lo = mid;
else hi = mid;
}
return hi;
}
int main()
{
fin>>n;
for (int i=1; i<=n; ++i)
{
fin>>v[i].x>>v[i].y;
}
sort (v+1,v+n+1,cmp);
s[0] = 2000000001;
for (int i=1; i<=n; ++i)
{
int pos = bs (v[i].y);
if (pos == l+1)
++l;
s[pos] = v[i].y;
}
fout<<l;
}