Cod sursa(job #1254200)

Utilizator costty94Duica Costinel costty94 Data 2 noiembrie 2014 12:20:54
Problema Numarare triunghiuri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <cstdio>
#include <stdlib.h>
#include <algorithm>

using namespace std;

int a[1001], i, j, k, z, n, ok, aux;

int cauta(int a[], int st, int dr, int k)
{
	int r = 0, mij;
	while(st <= dr)
	{
		mij = (st + dr) / 2;
		if(a[mij] <= k)
		{
			r++;
			st = mij + 1;
		}
		else
			dr = mij - 1;
	}
	/*while(a[mij] > a[k])
	{
		r++;
		mij--;
	}*/
	return r;
}



int main()
{
	freopen("nrtri.in", "r", stdin);
	freopen("nrtri.out", "w", stdout);

	scanf("%d", &n);
	for(i = 0; i < n; i++)
		scanf("%d", &a[i]);
	sort(a, a + n);
	for(i = 0; i < n-2; i++)
	{
		for(j = i+1; j < n-1; j++)
		{
			z += cauta(a, j+1, n-1, a[i] + a[j]);
		}
	}
	printf("%d", z);
	
	return 0;
}