Cod sursa(job #2320636)

Utilizator triscacezarTrisca Vicol Cezar triscacezar Data 14 ianuarie 2019 22:57:33
Problema Trapez Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <bits/stdc++.h>

using namespace std;

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

int n,i,j,ans,a[1010],b[1010];
vector<pair<int,int> > v;

int main()
{
    f>>n;
    for(i=1;i<=n;i++)
        f>>a[i]>>b[i];
    for(i=1;i<=n;i++)
        for(j=i+1;j<=n;j++)
        {
            int x=a[i]-a[j],
                y=b[i]-b[j];
            int g=__gcd(x,y);
            v.push_back({y/g,x/g});
        }
    sort(v.begin(),v.end());
    pair<int,int> last=v[0];
    int k=1;
    for(i=1;i<v.size();i++)
    {
        if(v[i]==last)
            k++;
        else
            ans+=(k*(k-1))/2,k=1;
        last=v[i];
    }
    g<<ans;
    return 0;
}