Pagini recente » Cod sursa (job #754190) | Monitorul de evaluare | Monitorul de evaluare | Cod sursa (job #754197)
Cod sursa(job #754197)
#include <fstream>
#include <algorithm>
#include <vector>
#include <iostream>
using namespace std;
#define NMAX 805
int A[NMAX];
int main(){
ifstream in("nrtri.in");
ofstream out("nrtri.out");
int N;
in >> N;
for(int i = 0; i < N; ++i)
in >> A[i];
vector<int> v (A, A + N);
sort(v.begin(), v.end());
int sz = N;
vector<int>::iterator upper;
int nr = 0;
for(int i = 0; i < sz; ++i)
for(int j = i + 1; j < sz; ++j){
int s = v[i] + v[j];
upper = upper_bound(v.begin(), v.end(), s);
int l = (upper - v.begin());
for(int k = 0; k < l; ++k)
if(
k != i && k != j &&
v[i] + v[j] >= v[k] &&
v[i] + v[k] >= v[j] &&
v[j] + v[k] >= v[i]
)
++nr;
}
out << nr / 3;
return 0;
}