Pagini recente » Cod sursa (job #2457350) | Cod sursa (job #2163312) | Cod sursa (job #1099707) | Cod sursa (job #779024) | Cod sursa (job #513024)
Cod sursa(job #513024)
#include<fstream>
#define maxd 802
#include<algorithm>
using namespace std;
int a[maxd],n,nr=0,s;
ifstream f("nrtri.in");
ofstream g("nrtri.out");
void citire()
{
int i;
f>>n;
for(i=1;i<=n;i++)
f>>a[i];
}
int cautarebinara(int st,int dr,int x)
{
int gasit=0,m,nr2;
while(st<=dr&&gasit==0)
{
m=(st+dr)/2;
if(a[m]<=x&&a[m+1]>x)
return a[m];
else
if(a[m]>x)
dr=m-1;
else
st=m+1;
}
return -1;
}
void calculeaza()
{
int i,j,c;
s=0;
sort(a,a+n+1);
a[n+1]=32000;
//for(i=1;i<=n;i++)
// g<<a[i]<<" ";
//g<<"\n";
for(i=1;i<n-1;i++)
for(j=i+1;j<=n-1;j++)
{
s=a[i]+a[j];
c=cautarebinara(j+1,n,s);
//else
if(s>=c&&c!=-1)
nr++;
//g<<cautarebinara(j+1,n,s)<<" ";
}
}
int main()
{
citire();
calculeaza();
//g<<"\n";
g<<nr;
return 0;
}