Cod sursa(job #1090424)

Utilizator TibixbAndrei Tiberiu Tibixb Data 22 ianuarie 2014 18:12:43
Problema Numarare triunghiuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.46 kb
#include<fstream>
#include<algorithm>
using namespace std;
int n, v[803], i, j, s, p, u, sol, mij;
ifstream fin("nrtri.in");
ofstream fout("nrtri.out");
int main(){
	fin>>n;
	for(i=1;i<=n; i++)
		fin>>v[i];
	sort(v+1, v+n+1);
	for(i=1; i<=n-2; i++){
		for(j=i+1; j<=n-1; j++){
			s=v[i]+v[j];
			p=j+1; u=n;
			while(p<=u){
				mij=p+(u-p)/2;
				if(v[mij]>s)
					u=mij-1;
				else
					p=mij+1;
			}
			sol+=u-j;
		}
	}
	fout<<sol;
return 0;
}