Pagini recente » Cod sursa (job #3164740) | Cod sursa (job #3167779) | Cod sursa (job #3212917) | Cod sursa (job #12062) | Cod sursa (job #245829)
Cod sursa(job #245829)
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define N 5000
int a[N],n,x;
char s[N];
/*
void sortare()
{
int i,sort,aux;
sort = 0;
while(sort==0)
{
sort = 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;
sort = 0;
}
}
}
*/
int compare (const void * a, const void * b)
{
return ( *(int*)a - *(int*)b );
}
int main()
{
int i,j,k,nr;
freopen("nrtri.in","r",stdin);
freopen("nrtri.out","w",stdout);
scanf("%d\n",&n);
/*
for(i=1;i<=n;i++)
scanf("%d",&a[i]);
*/
fgets(s,N,stdin);
k=-1;x=0;
for (i=0;s[i]!=NULL;i++)
if (s[i]==' ') a[++k]=x,x=0;
else x=x*10+s[i]-'0';
a[++k]=x;
//sortare();
qsort (a, n+1, sizeof(a[1]), compare);
nr = 0;
for(i=1;i<n;i++)
for(j=i+1;j<=n;j++)
{
for(k=n;a[k]>a[i]+a[j];k--)
;
nr+=k-j;
/*
if(a[i] + a[j] >= a[k])
{
s += n - k ;
break;
}
*/
}
/*for(i=1;i<=n;i++)
printf("%d\n",a[i]);*/
printf("%d",nr);
return 0;
}