Cod sursa(job #1289500)

Utilizator fluture.godlikeGafton Mihnea Alexandru fluture.godlike Data 9 decembrie 2014 22:17:03
Problema Numarare triunghiuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.51 kb
#include <stdio.h>
#include <algorithm>
FILE *fin, *fout;
int n, *v, sum;
int main()
{
	fin = fopen("nrtri.in", "r");
	fout = fopen("nrtri.out", "w");
	fscanf(fin, "%d", &n);
	v = new int[n+23];
	for(int i =0; i< n; i++) fscanf(fin, "%d", &v[i]);
	std::sort(v, v+n);
	for(int i = 0; i< n; i++)
	{
		for(int j = i+1; j< n; j++)
		{
			int temp = std::upper_bound(v+j+1, v+n, v[i]+v[j]) - v;
			if(temp == n) sum += n-j-1;
			else sum += temp-j-1;
		}
	}
	fprintf(fout, "%d\n", sum);
	fclose(fin);
	fclose(fout);
	return 0;
}