Pagini recente » Cod sursa (job #1058465) | Cod sursa (job #1075049) | Cod sursa (job #38355) | Cod sursa (job #2401812) | Cod sursa (job #1777273)
#include<fstream>
#include<algorithm>
#define nmax 810
using namespace std;
ifstream in ("nrtri.in");
ofstream out("nrtri.out");
int n, v[nmax];
int cautbin(int val){
int start = 0, step = (1<<10);
for( ; step; step>>=1){
int index = start + step;
if(index > n )continue;
if(v[index] <= val) start = index;
}
return start;
}
int main(){
in >> n;
int s = 0;
for(int i = 1;i <= n;++i){
in >> v[i];
}
sort(v + 1,v + n + 1);
for(int i = 1;i <= n - 2;++i){
for(int j = i + 1;j <= n - 1;++j){
int k = v[i] + v[j];
int a = cautbin(k);
if(a == i || a == j)continue;
if(k >= v[a])
{
a = a - j;
s = s + a;
}
}
}
out << s;
}