Cod sursa(job #2828336)

Utilizator Edyci123Bicu Codrut Eduard Edyci123 Data 7 ianuarie 2022 09:10:13
Problema Trapez Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <bits/stdc++.h>
#define DIM 1005

using namespace std;

ifstream f("trapez.in");
ofstream g("trapez.out");

int n, k;
pair <int, int> points[DIM];
double v[DIM];

int main()
{
    f >> n;
    for (int i = 1; i <= n; i++)
        f >> points[i].first >> points[i].second;

    for (int i = 1; i <= n; i++)
        for (int j = i + 1; j <= n; j++)
        {
            double m = (double)(points[i].first - points[j].first) / (points[i].second - points[j].second);
            v[++k] = m;
        }

    sort(v + 1, v + 1 + k);
    long long ans = 0;

    for (int i = 1; i <= k; i++)
    {
        int nr = 1;
        while (v[i] == v[i + 1])
            nr++, i++;
        ans += nr * (nr - 1) / 2;
    }

    g << ans;
    return 0;
}