Cod sursa(job #2481811)

Utilizator Andy_ANDYSlatinaru Andrei Alexandru Andy_ANDY Data 27 octombrie 2019 14:19:33
Problema Trapez Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f ( "trapez.in" ); ofstream g ( "trapez.out" );
pair < long double ,long double > v[1005];
vector  <long double> unghi;
int main()
{   int n;
    f>>n;
    for(int i=1;i<=n;i++) f>>v[i].first>>v[i].second;
    for(int i=1;i<=n;i++)
        for(int j=i+1;j<=n;j++)
        {   if(v[i].first == v[j].first) unghi.push_back((2e9 + 2));
            else unghi.push_back((v[i].second-v[j].second)/(long double)(v[i].first-v[j].first));
        }
    sort(unghi.begin(),unghi.end());
    long long ans=0,cnt=1;
    unghi.push_back(0);
    for(int i=0;i<unghi.size()-1;i++)
    {   if(unghi[i]==unghi[i+1]) cnt ++;
        else
        {   ans+=cnt*(cnt-1)/2;
            cnt=1;
        }
    }
    g<<ans;
    return 0;
}