Cod sursa(job #467236)
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
#define foreach(V) for(typeof (V).begin(); it != (V).end(); ++it)
const int MAX_N = 100005;
ifstream fin ("cadrane.in");
ofstream fout ("cadrane.out");
int N, X[MAX_N], Y[MAX_N];
pair <int, int> C[MAX_N];
void citire() {
fin >> N;
for(int i = 1; i <= N; ++i) {
int x, y;
fin >> x >> y;
C[i] = make_pair(x, y);
X[i] = x;
Y[i] = y;
}
}
void norm() {
sort(X+1, X+N+1);
int nx = unique(X+1, X+N+1)-X-1;
sort(Y+1, Y+N+1);
int ny = unique(Y+1, Y+N+1)-Y-1;
for(int i = 1; i <= N; ++i) {
int y = lower_bound(Y+1, Y+ny+1, C[i].second) - Y;
int x = lower_bound(X+1, X+nx+1, C[i].first) - Y;
}
}
int main() {
citire();
norm();
}