Pagini recente » Cod sursa (job #1434796) | Cod sursa (job #183152) | Cod sursa (job #69802) | Cod sursa (job #3216182) | Cod sursa (job #1426481)
#include <cstdio>
#include <cmath>
#include <algorithm>
using namespace std;
const double INFI = 2e9;
const double eps = 1e-12;
struct PUNCT {
int n,m;
void cit () {
int a,b;
scanf("%d%d",&a,&b);
n = a, m = b;
}
} v[1001];
double p[550000];
double panta (PUNCT a, PUNCT b) {
int p,q;
p=a.n-b.n;
q=a.m-b.m;
if (!p)
return INFI + 1;
return (double) q / p * 1.0;
}
int main()
{
freopen("trapez.in","r",stdin);
freopen("trapez.out","w",stdout);
int n,i,j;
scanf("%d",&n);
for(i=1;i<=n;++i)
scanf("%d",&v[i]);
int k=1,l=1;
long long t=0;
for (i=1;i<=n;++i)
for (j=i+1;j<=n;++j)
p[k++] = panta(v[i],v[j]);
sort (p+1, p+k);
for (i=2;i<k;++i) {
for (l=1;i<k&&fabs(p[i]-p[i+1])<eps;++i,++l);
t += l * (l - 1) >> 1;
}
printf("%lld\n",t);
return 0;
}