#include #include #include using std::map; using std::lower_bound; struct tablaitem{long x, y, z;}; bool operator<(const tablaitem & ti, int x) { return ti.x idx; tablaitem * tabla = new tablaitem[M]; long tablameret = 0; for(long i=0;i=start) { start = idx[K]+1; tabla[tablameret].x = idx[K]; tabla[tablameret].y = i; tabla[tablameret].z = K; tablameret++; } idx[K]=i; } for(long i=0; i=tabla+tablameret) { printf("OK\n"); } else { if(rec->x > b) { printf("OK\n"); } else { if(rec->y >= a && rec->y <= b) { printf("%ld\n", rec->z); } else { printf("OK\n"); } } } } printf("\n"); delete[] tabla; } return 0; }