Pagini recente » Profil Crina | Cod sursa (job #669385) | Cod sursa (job #1509115) | Cod sursa (job #911218) | Cod sursa (job #2066185)
#include <fstream>
#include <algorithm>
using namespace std;
const int L = 9;
ifstream in("nrtri.in");
ofstream out("nrtri.out");
int cautbin(int v[], int n, int x)
{
int r = 0, pas = 1 << L;
while(pas != 0)
{
if(r+pas < n && v[r+pas] <= x)
{
r += pas;
}
pas /= 2;
}
return r;
}
int v[801];
int main()
{
int n, rez = 0, i, j, k;
in >> n;
for(i = 0; i < n; i++)
in >> v[i];
sort(v, v+n);
for(i = 0; i < n; i++)
{
for(j = i+1; j < n; j++)
{
k = cautbin(v, n, v[i]+v[j]);
if(k>j)
{
rez += k-j;
}
//out << i << " " << j << " " << k << "\n";
}
}
out << rez;
return 0;
}