Pagini recente » Cod sursa (job #1353700) | Cod sursa (job #2999584) | Cod sursa (job #2601442) | Cod sursa (job #1270291) | Cod sursa (job #2128825)
#include <fstream>
using namespace std;
ifstream fin("cadrane.in");
ofstream fout("cadrane.out");
struct elem
{
int x,y;
}a[100003];
bool cmp(elem a,elem b)
{
return a.y<b.y;
}
bool cmp1(elem a,elem b)
{
return a.x<b.x;
}
int main()
{
fin>>n;
for(int i=1;i<=n;i++)
fin>>a[i].x>>a[i].y;
sort(a+1,a+n+1,cmp);
for(int i=1;i<=n;i++)
if(a[i].y!=v[k])
{
v[++k]=a[i].y;
b[v[k]]=k;
}
sort(a+1,a+n+1,cmp1);
for(int i=1;i<=n;i++)
{
update(1,k,1,b[a[i].y],1)
pts[i].higher=query(b[a[i].y],k);
pts[i].lower=query(1,b[a[i].y]);
}
for(int i=1;i<=n;i++)
{
update(1,k,1,b[a[i].y],-1)
pts[i].lower+=query(b[a[i].y],k);
pts[i].higher+=query(1,b[a[i].y]);
i
}
return 0;
}