Cod sursa(job #97378)
#include <stdio.h>
#include <math.h>
float a[500000],b[500000],n,c[500000];
void citire(){
freopen("trapez.in","r",stdin);
scanf ("%f",&n);
for (long i=0;i<n;i++)
scanf("%f %f",&a[i],&b[i]);
fclose(stdin);
}
float max(float a,float b){
if (a>b)
return a-b;
return b-a;
}
long numarere(){
long nr=0;
for (long i=0;i<n-1;i++)
for (long j=i+1;j<n;j++)
if (max(b[i],b[j])!=0)
c[nr++]=max(a[i],a[j])/max(b[i],b[j]);
else
c[nr++]=-1;
long S=0;
for (long y=0;y<nr-1;y++) {
long aux=0;
for (long k=y+n;k<nr;k++)
if (c[y]==c[k])
aux++;
if (aux!=0)
S+=pow(aux,2);
}
return S;
}
int main(){
citire();
freopen("trapez.out","w",stdout);
printf("%ld",numarere());
printf("\n");
fclose(stdout);
return 0;
}