Pagini recente » Cod sursa (job #517665) | Cod sursa (job #3284488) | Cod sursa (job #568143) | Cod sursa (job #940500) | Cod sursa (job #2970317)
#include<fstream>
#include<algorithm>
using namespace std;
ifstream fin("nrtri.in");
ofstream fout("nrtri.out");
const int N=800;
int v[N+1];
int cautbin(int st, int dr, int a, int b)
{
int rez=0;
while(st<=dr)
{
int m=(st+dr)/2;
if(v[m]<=a+b)
{
rez=m;
st=m+1;
}
else
{
dr=m-1;
}
}
return rez;
}
int main()
{
int n, rez=0;
fin >> n;
for(int i=0; i<n; i++)
fin >> v[i];
sort(v, v+n);
for(int i=0; i<n-1; i++)
{
for(int j=i+1; j<n; j++)
{
rez+=cautbin(0, n-1, v[i], v[j])-j;
}
}
fout << rez;
return 0;
}