Cod sursa(job #2827411)

Utilizator Gabriel_DascalescuGabriel Dascalescu Gabriel_Dascalescu Data 5 ianuarie 2022 18:29:03
Problema Trapez Scor 60
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <fstream>
#include <algorithm>
#define nmax 1005
#define dmax 1000005

using namespace std;

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

int n, cnt, lim, ans;

int dx[nmax], dy[nmax];

double panta[dmax];

int main()
{
    in>>n;
    for(int i=1; i<=n; i++)
    {
        in>>dx[i]>>dy[i];
    }
    for(int i=1; i<=n; i++)
    {
        for(int j=i+1; j<=n; j++)
        {
            panta[++cnt] = (double)(dy[i] - dy[j])/(dx[i] - dx[j]);
        }
    }
    sort(panta + 1, panta + cnt + 1);
    for(int i=1; i<=cnt; i++)
    {
        lim = 1;
        while(panta[i] == panta[i+1] && i<=cnt )
        {
            lim++;
            i++;
            ans += (lim-1)* lim /2;
        }
    }
    out<<ans;
    return 0;
}