Pagini recente » Cod sursa (job #2135051) | Cod sursa (job #2847575) | Cod sursa (job #1973020) | Cod sursa (job #2616444) | Cod sursa (job #1522896)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("nrtri.in");
ofstream g("nrtri.out");
int v[810];
int maxim(int a,int b)
{
if(a>b)
return a;
return b;
}
int cautbin(int st,int dr,int x)
{
int mij=(st+dr)/2;
if(st==dr)
return st;
if(x>v[mij])
cautbin(mij+1,dr,x);
else
cautbin(st,mij,x);
}
int cautbin2(int st,int dr,int x)
{
int mij=(st+dr)/2;
if(st==dr)
return st;
if(x>=v[mij])
return cautbin(mij+1,dr,x);
else
return cautbin(st,mij,x);
}
int main()
{
int a,b,n,i,j,s=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++)
{
a=cautbin(j+1,n,v[i]+v[j]);
b=cautbin2(j+1,n,maxim(v[i]-v[j],v[j]-v[i]));
s+=a-b+1;
}
}
g<<s<<'\n';
return 0;
}