Cod sursa(job #826112)

Utilizator Paula-ElenaPaula-Elena Margarit Paula-Elena Data 30 noiembrie 2012 01:16:21
Problema Numarare triunghiuri Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include<fstream>
using namespace std;

ifstream fin("nrtri.in");
ofstream fout("nrtri.out");

int step, aux, i, j, n, a[806], k, sol, pivot, st, dr;

void quicksort(int st, int dr){
	pivot = a[(st + dr)/2];
	i = st;
	j = dr;
	while(i <= j){
		while(pivot > a[i]) i++;
		while(pivot < a[j]) j--;
		if(i <= j){
			aux = a[i];
			a[i] = a[j];
			a[j] = aux;
			i++;
			j--;
		}
	}	
	if(st < j) quicksort(st, j);
	if(i < dr) quicksort(i, dr);
}

int main(){

	fin >> n;
	for(i=1; i<=n; i++) fin >> a[i];
	quicksort(1, n);
	
	for(i=1; i<n; i++)
		for(j=i+1; j<n; j++)
			for(k=j+1; k<=n; k++){
				if(a[i]+a[j] >= a[k]) sol++;
			}
	
	fout << sol;
		
	fin.close();
	fout.close();
	
	return 0;
}