Cod sursa(job #509420)

Utilizator cosmyoPaunel Cosmin cosmyo Data 11 decembrie 2010 00:42:04
Problema Numarare triunghiuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.48 kb
#include <cstdio>
#include <algorithm>
using namespace std;
int n,a[1001],nr;
int main() {
	freopen("nrtri.in", "r", stdin);
	freopen("nrtri.out", "w", stdout);

	int i, j, k;
	scanf("%d", &n);
	for(i = 1; i <= n; ++i)
		scanf("%d", &a[i]);
	a[n + 1]=100000000;
	sort(a + 1,a + n + 1);
	for(i = 1; i <= n-2; ++i)
		for(j = i + 1; j < n; ++j) {
			k = upper_bound(a + j + 1, a + n + 1, a[i] + a[j]) - a;
			if(k-1 <= n && k-1 > j  )
				nr += k - j -1 ;
		}
	printf("%d\n", nr);

	return 0;
}