Cod sursa(job #719322)

Utilizator andreifirstCioara Andrei Ioan andreifirst Data 21 martie 2012 18:45:02
Problema Numarare triunghiuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.43 kb
#include <fstream>
#include <algorithm>
using namespace std;

ifstream f("nrtri.in"); ofstream g("nrtri.out");

int v[805];
int i, j, n, m, t, s, a, b, c;

int main(){
	f>>n;
	for (i=1; i<=n; i++) f>>v[i];
	
	sort (v+1, v+n+1);
	
	for (i=1; i<=n; i++) for (j=i+1; j<n; j++){
		s=v[i]+v[j];
		a=j+1; b=n; c=j;
		while (a<=b) {
			m=(a+b)/2;
			if (s>=v[m]) {c=m; a=m+1;}
			else b=m-1;
		}
		t=t+c-j;
	}
	g<<t;
}