class pairs
{
public: ll x,y;
};
bool sorter(pairs p1,pairs p2)
{
if(p1.x!=p2.x)return (p1.x<p2.x);
else return (p1.y<=p2.y);
}
class solution
{
ll c;
vector<pairs> distSpeedRatio;
void input()
{
cin>>c;
distSpeedRatio.resize(c);
for(int i=0;i<distSpeedRatio.size();i++)
{
ll x,y;
cin>>x>>y>>distSpeedRatio[i].y;
ll dist=x*x+y*y;
distSpeedRatio[i].y*=distSpeedRatio[i].y;
distSpeedRatio[i].x=dist/distSpeedRatio[i].y;
distSpeedRatio[i].y=dist%distSpeedRatio[i].y;
}
}
public:
solution()
{
input();
sort(distSpeedRatio.begin(),distSpeedRatio.end(),sorter);
ll ans=0,chain=1;
for(int i=1;i<distSpeedRatio.size();i++)
{
if(distSpeedRatio[i].x==distSpeedRatio[i-1].x&&distSpeedRatio[i].y==distSpeedRatio[i-1].y)
{
chain++;
}
else
{
ans+=chain*(chain-1)/2;
chain=1;
}
}
ans+=chain*(chain-1)/2;
cout<<ans<<endl;
}
};
Can anyone please tell me that in which case my code doesn’t pass I got RTE verdict
Thanks in advanced.