Pagini recente » Cod sursa (job #2933483) | Cod sursa (job #2859353) | Cod sursa (job #1158192) | Cod sursa (job #362151) | Cod sursa (job #2270992)
#include <fstream>
#include <iostream>
using namespace std;
int v[801];
int c[801];
int d;
ifstream ci ("nrtri.in");
ofstream co ("nrtri.out");
int caut(int a,int b)
{
for (int i=0; i<801; i++)
{
if (c[(b+a+1/2)]<c[a]+c[b])
{
b=(b+a+1)/2;
}
if (c[(b+a+1/2)]==c[a]+c[b])
{
d=c[(b+a+1)/2];
return c[a];
}
if (c[(b+a+1/2)]>c[a]+c[b])
{
a=(b+a+1)/2;
}
}
}
int main()
{
int n,min=30000,h,a,f=0;
ci >> n;
for (int i=0; i<n; i++)
{
ci >> v[i];
}
for (int i=0; i<n; i++)
{
for (int j=0; j<n; j++)
{
if (v[j]<min)
{
min=v[j];
h=j;
}
}
c[i]=v[h];
min=30000;
v[h]=30001;
}
for (int i=0; i<n; i++)
{
for (int j=i+1; j<n; j++)
{
a=caut(j,n-1);
for (int k=a; k<=d; k++)
{
if (v[a]+v[i]>v[j] && v[a]+v[j]>v[i])
f++;
}
}
}
co << f << endl;
return 0;
}