Pagini recente » Cod sursa (job #2963316) | Cod sursa (job #67225) | Cod sursa (job #2192416) | Cod sursa (job #549478) | Cod sursa (job #3131532)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in("nrtri.in");
ofstream out("nrtri.out");
int CautBin(int a[], int n, int x)
{
if (x < a[0]) return 0;
if (x > a[n - 1]) return n - 1;
int st, dr, mid, p;
st = 0;
dr = n - 1;
while (st <= dr)
{
mid = st + (dr - st) / 2;
if (x >= a[mid])
{
p = mid;
st = mid + 1;
}
else
dr = mid - 1;
}
return p;
}
int v[800];
int main()
{
int N, i, j, cnt = 0;
in >> N;
for (i = 0; i < N; ++i)
in >> v[i];
in.close();
sort(v, v + N);
for (i = 0; i < N - 2; ++i)
{
for (j = i + 1; j < N - 1; ++j)
{
int L = v[i] + v[j];
int ind = CautBin(v, N, L);
cnt += ind - j;
}
}
out << cnt << '\n';
out.close();
return 0;
}