Pagini recente » Cod sursa (job #2218120) | Cod sursa (job #842207) | Cod sursa (job #220327) | Cod sursa (job #1443111) | Cod sursa (job #1306283)
#include <fstream>
#include <algorithm>
#define f first
#define s second
using namespace std;
ifstream fin("pachete.in");
ofstream fout("pachete.out");
int n, p, nr, x, y, j, w[5], i,
int s[50010], a, b, u, mid,nr1;
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;
}
}
v[d][i] = p;
}
nr1 += nr2;
}
}
fout << nr1;
return;
}
void read(){
fin >> n >> x >> y;
for(i = 1; i <= n; i++){
fin >> ii >> jj;
if(ii >= x){
if(jj >= 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(jj <= 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;
}