Cod sursa(job #669429)

Utilizator Mihai96Saru Mihai Mihai96 Data 26 ianuarie 2012 22:37:09
Problema Numarare triunghiuri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <stdio.h>
#include <fstream>
using namespace std;

int main(int argc, char *argv[]){
	int n,b[801],buffer,posibil = 0;
	bool sortat;
	freopen("nrtri.in", "r", stdin);
	ofstream out;
	out.open("nrtri.out");
	scanf("%d", &n);
	//citeste sirul
	for(int i = 0;i <= n-1;++i)
		scanf("%d", &b[i]);
	//ordoneaza sirul
	while(sortat == 0){
		sortat = 1;
		for(int i = 1;i <= n;++i)
			if(b[i] > b[i+1]){
				sortat = 0;
				buffer = b[i];
				b[i] = b[i+1];
				b[i+1] = buffer;
			}				
	}
	//cauta binar solutia
	for(int i = 0;i <= n - 1;i++){
		for(int j = i++;j <= n - i;j++){
			for(int k = j++;k <= n - j;j++) 
				if( (b[i] + b[j]) >= b[k])
					if( (b[j] - b[i]) <= b[k]) 
						posibil++;
		}
	}
	out<<posibil;
	return 0;
}