Cod sursa(job #669427)

Utilizator Mihai96Saru Mihai Mihai96 Data 26 ianuarie 2012 22:29:30
Problema Numarare triunghiuri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 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 - 2;i++){
		for(int j = i+2;j <= n - i;j++){
			if(b[i] + b[i + 1] >= b[j])
				if(b[i + 1] - b[i] <= b[j]) 
					posibil++;
		}
	}
	out<<posibil;
	return 0;
}