Pagini recente » Cod sursa (job #759375) | Cod sursa (job #1045888) | Cod sursa (job #1393200) | Cod sursa (job #1303826) | Cod sursa (job #2678075)
#include <fstream>
#include<algorithm>
using namespace std;
ifstream in("nrtri.in");
ofstream out("nrtri.out");
int l[805] , n;
int upperBound(int target)
{
int s = 0,h = n ;
while(s < h)
{
int mid = (s + h) / 2;
if(l[mid] > target)
h = mid;
else s = mid + 1;
}
return h;
}
int main()
{
int nr = 0;
in >> n;
for(int i = 0;i < n;i ++)
in >>l[i];
sort(l,l + n);
for(int i = 0;i <n - 2;i ++)
{
for(int j = i + 1;j < n - 1 ;j ++)
{
int x = upperBound(l[i] + l[j]) - 1;
nr += x - j;
}
}
out << nr;
return 0;
}