Pagini recente » Cod sursa (job #2401001) | Cod sursa (job #2396161) | Cod sursa (job #1209068) | Cod sursa (job #2270960) | Cod sursa (job #175499)
Cod sursa(job #175499)
# include <stdio.h>
# define input "nrtri.in"
# define output "nrtri.out"
# define max 804
int a[max],n,i,j,k,aux,ok,val,m;
long rez;
int cauta(int x,int st,int dr)
{
while(st <= dr)
{
m = (st+dr)/2;
if(a[m] <= x && a[m+1] > x)
return m;
if(a[m]<=x)
st = m+1;
else
dr = m-1;
}
return 1;
}
int main()
{
freopen(input,"r",stdin);
freopen(output,"w",stdout) ;
scanf("%d",&n);
for(i = 1;i<=n;i++)
scanf("%d",&a[i]);
do
{
ok = 1;
for(i = 1;i<=n-1;i++)
if(a[i] > a[i+1])
{
aux = a[i];
a[i] = a[i+1];
a[i+1] = aux;
ok = 0;
}
}while(!ok);
a[n+1] = 600001;
for(i = 1;i<=n-2;++i)
for(j = i+1;j<=n-1;++j)
{
val = cauta(a[i] + a[j],j+1,n);
if(val > j)
rez+=val-j;
}
printf("%ld",rez);
return 0;
}