Pagini recente » Cod sursa (job #2962202) | Cod sursa (job #1715603) | Cod sursa (job #2944107) | Cod sursa (job #2780694) | Cod sursa (job #2061177)
#include <iostream>
#include <fstream>
using namespace std;
cautarebinara(unsigned int ls, unsigned int ld, unsigned int v[800])
{unsigned int mij;
while(ls<=ld)
{
mij=(ls+ld) /2;
if(v[mij]<=v[ls]+v[ld]) return mij;
else ls=mij+1;
return -1;
}}
int main()
{ifstream f("nrtri.in");
ofstream g("nrtri.out");
unsigned int n;
f>>n;
unsigned int v[800],i,j,aux,k,nr=0,mij;
for(i=0;i<n;i++)
f>>v[i];
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(v[i]>v[j])
{
aux=v[i];
v[i]=v[j];
v[j]=aux;
}
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
{
k=cautarebinara(0,n-1,v);
if(k!=-1 && v[i]+v[k]>=v[j] && v[j]+v[k]>=v[i] && k!=j && k!=i )
nr++;}
g<<nr;
f.close();
g.close();
return 0;
}