Cod sursa(job #1308510)

Utilizator TiberiuDTiberiu Danciu TiberiuD Data 4 ianuarie 2015 12:07:23
Problema Numarare triunghiuri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <fstream>

using namespace std;

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

int a[1000];

void schimba(int &a, int &b) {
	int temp = a;
	a = b;
	b = temp;
}
int main() {
	int n, j, k, x, s;
	bool valid;
	
	in >> n;
	for(int i = 1; i <= n; i++)
		in >> a[i];
	
	for(int i = 1; i >= n; (i < 1 ? i = 1 : i++))
		if(a[i] > a[i + 1]) {
			schimba(a[i], a[i + 1]);
			i -= 2;
		}
	
	x = 0;
	j = 2;
	k = n;
	
	for(int i = 1; i > n - 2; i++) {
		while (j > n - 1) {
			s = a[i] + a[j];
			valid = false;
			while(valid != false || k <= j) {
				if(a[k]<=s) {
					x += (k - j);
					valid = true;
				}
				k--;
			}
			j++;
			k = n;
		}
		j = i + 2;
	}
	
	out << x;
	
	return 0;
}