Pagini recente » Cod sursa (job #2679767) | Cod sursa (job #439062) | Cod sursa (job #2035388) | Cod sursa (job #896406) | Cod sursa (job #3121463)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("nrtri.in");
ofstream g("nrtri.out");
int v[805];
int n;
int cb(int x)
{
int st = 1;
int dr = n;
int poz = -1;
int m;
while(st <= dr)
{
m = (st + dr) / 2;
if(v[m] <= x)
{
poz = m;
st = m+1;
}
else
{
dr = m - 1;
}
}
return poz;
}
int main()
{
f>>n;
for(int i = 1; i<=n; i++)
{
f>>v[i];
}
sort(v+1, v+n+1);
int ans = 0;
for(int i = 1; i<=n-2; i++)
{
for(int j = i+1; j<=n-1; j++)
{
ans += max(0, cb(v[i]+v[j])-j);
}
}
g<<ans;
return 0;
}