Pagini recente » Cod sursa (job #2834560) | Cod sursa (job #3247834) | Cod sursa (job #879647) | Cod sursa (job #533637) | Cod sursa (job #413375)
Cod sursa(job #413375)
#include <fstream>
using namespace std;
int N,v[801];
ifstream f("nrtri.in");
ofstream g("nrtri.out");
inline int cb(int i,int j)
{
int st,dr,mij,rez=0;
for (st = j + 1,dr = N;st <= dr; )
{
mij = st + ((dr - st) >> 1);
if (v[i] + v[j] >= v[mij]) rez=mij-j,st=mij + 1;
else dr=mij - 1;
}
return rez;
}
void solve()
{
int i,j,rez=0;
f >> N;
for (i=1;i<=N;i++) f >> v[i];
sort(v + 1,v + N + 1);
for (i=1;i<=N-1;i++)
for (j=i+1;j<=N;j++)
rez+=cb(i,j);
g << rez;
}
int main()
{
solve();
return 0;
}