Pagini recente » Cod sursa (job #1782509) | Cod sursa (job #1171919) | Cod sursa (job #2623722) | Cod sursa (job #1872377) | Cod sursa (job #526162)
Cod sursa(job #526162)
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
freopen ("nrtri.in", "r", stdin);
freopen ("nrtri.out", "w", stdout);
int N;
vector <int> B;
scanf ("%d", &N);
for (int i = 0; i < N; ++i)
{
int numar;
scanf ("%d", &numar);
B.push_back(numar);
}
sort (B.begin(), B.end());
int rezultat = 0;
for (int i = 0; i < N - 2; ++i)
{
int ind = i;
for (int j = i + 1; j < N - 1; ++j)
{
int lim = B[i] + B[j];
while (ind <= j) ++ind;
while (ind < N - 1 && B[ind] <= lim) ++ind;
if (B[ind] > lim) -- ind;
rezultat += (ind - j);
}
}
printf ("%d", rezultat);
return 0;
}