Cod sursa(job #3186386)

Utilizator TheEpicWipedCreaVlad Chirita Alexandru TheEpicWipedCrea Data 22 decembrie 2023 21:03:16
Problema Trapez Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <bits/stdc++.h>

using namespace std;
ifstream in  ("trapez.in");
ofstream out("trapez.out");

#define maxVal 1000000000

vector <double> panta;

struct point{
    int x,y;
};
vector <point> v;
int n, paral;

int main(){
	in>>n;
	v.resize(n);

	for (int i=0;i<n;i++){
		in>>v[i].x>>v[i].y;
		for (int j=0;j<i;j++){
			double r;
			if(v[i].x!=v[j].x){
				double sus=v[i].y-v[j].y;
                double jos=v[i].x-v[j].x;
				r=sus/jos;
			}
			else{
                r=maxVal;
            }
			panta.push_back(r);
		}
	}

	sort(panta.begin(),panta.end());

	int i=1;
	long long cnt=((paral*(paral-1))>>1);

	n=panta.size();

	while(i<n){
		int crt=1;
		while(i<n && panta[i]==panta[i-1]){
			crt++;
			i++;
		}
		i++;
		cnt+=((crt*(crt-1))>>1LL);
	}

	out<<cnt<<'\n';
}