Pagini recente » Cod sursa (job #446122) | Cod sursa (job #324106) | Cod sursa (job #1507817) | Cod sursa (job #1992711) | Cod sursa (job #1306298)
#include <fstream>
#include <algorithm>
#define f first
#define s second
using namespace std;
ifstream fin("pachete.in");
ofstream fout("pachete.out");
int n, p, nr1, x, y, j, w[5],nr2;
int s[50010], a, b, u, mid, d, i;
pair <int, int> v[5][50010];
void code(){
for(d = 1; d <= 4; d ++){
sort(v[d] + 1, v[d] + w[d] + 1);
if(w[d] != 0){
nr2 = 1;
s[1] = v[d][1].s;
for(i = 2; i <= w[d]; i++){
p = 1;
u = nr2;
while(p <= u){
mid = (p + u) / 2;
if(v[d][i].s < s[mid]){
p = mid + 1;
}
else{
u = mid - 1;
}
}
s[nr2] = v[1][i].s;
}
nr1 += nr2;
}
}
fout << nr1;
return;
}
void read(){
fin >> n >> x >> y;
for(i = 1; i <= n; i++){
fin >> a >> b;
if(a >= x){
if(b >= y){
w[1] ++;
v[1][w[1]].f = a;
v[1][w[1]].s = b;
}
else{
w[2] ++;
v[2][w[2]].f = a;
v[2][w[2]].s = b;
}
}
else{
if(b <= y){
w[3] ++;
v[3][w[3]].f = a;
v[3][w[3]].s = b;
}
else{
w[4] ++;
v[4][w[4]].f = a;
v[4][w[4]].s = b;
}
}
}
return;
}
int main(){
read();code();
return 0;
}