Cod sursa(job #1521978)

Utilizator BKmarianmarian BKmarian Data 11 noiembrie 2015 02:56:12
Problema Numarare triunghiuri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("nrtri.in");
ofstream g("nrtri.out");
int cmpfunc(const void * a, const void * b)
{
	return (*(int*)a - *(int*)b);
}
int main() {
	int n=0,hash[30001],*a;
	f >> n;
	a = new int[801];
	memset(hash,0,sizeof(hash));
	for (int i = 1; i <= n; i++)
	{
		f >> a[i];
		hash[a[i]] = 1;
	}
	qsort(a, sizeof(a), sizeof(int), cmpfunc);
	int minim, maxim,numar= 0;
	for (int i = 1; i < n; i++) {
		for (int j = i + 1; j <= n; j++) {
			minim = abs(a[j] - a[i]);
			maxim = abs(a[j] + a[i]);
			for (int l = minim; l <= maxim; l++)
			{
				if (hash[l] != 0 && a[i]<a[j] && l>a[j])
					numar++;
			}
		}
	}
	delete[] a;
	g << numar;
}