Pagini recente » Cod sursa (job #590585) | Cod sursa (job #3271035) | Cod sursa (job #564851) | Monitorul de evaluare | Cod sursa (job #1045615)
#include<stdio.h>
#include<algorithm>
using namespace std;
int v[805],nr,n;
int caut(int j, int a)
{ int i=0,mid;
while(i<j)
{
mid=i+(j-i)/2;
if(v[mid]<a) i=mid+1;
else j=mid;
}
mid=(i+j)/2;
if(v[mid]<a) mid++;
return mid;
}
int main()
{ int i,j,a;
freopen("nrtri.in","r",stdin);
scanf("%d",&n);
for(i=0;i<n;scanf("%d",&v[i]), ++i);
fclose(stdin);
sort(v,v+n);
for(i=n-1;i>1;--i)
{
a=v[i]-v[i-1];
if(a) nr+=(i-1)-caut(i-2,a);
}
freopen("nrtri.out","w",stdout);
printf("%d",nr);
fclose(stdout);
return 0;
}