Cod sursa(job #2020083)

Utilizator ardutgamerAndrei Bancila ardutgamer Data 9 septembrie 2017 13:34:27
Problema Numarare triunghiuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;
vector<int>v;
int main()
{
	freopen("nrtri.in","r",stdin);
	freopen("nrtri.out","w",stdout);
	vector<int>::iterator it1,it2,it3;
	int n , x ;
	scanf("%d",&n);
	for(int i = 1 ; i <= n ; i++)
	{
		scanf("%d",&x);
		v.push_back(x);
	}
	sort(v.begin(),v.end());
	int nr = 0;
	for(it1 = v.begin() ; it1 != v.end()-2 ; it1++){
		for(it2 = it1 + 1 ; it2 != v.end()-1 ; it2++)
			{
				it3 = upper_bound(it2+1,v.end(),(*it1)+(*it2));
				nr = nr + (it3 - it2 - 1);
			}
	}
	printf("%d",nr);
    return 0;
}