Pagini recente » Cod sursa (job #2767830) | Cod sursa (job #2950161) | Cod sursa (job #908925) | Cod sursa (job #445356) | Cod sursa (job #1848598)
#include <iostream>
#include <cstdio>
int v[2001],capinf[30000],capsup[30000],aranjat[30000],fr[30000];
int main()
{
FILE *intrare,*iesire;
int n,i=0,j=0,k=0,num=0,aux,t=0;
intrare=fopen("nrtri.in","r");
iesire=fopen("nrtri.out","w");
fscanf(intrare,"%d",&n);
for (i=0; i<=n-1; ++i)
fscanf(intrare,"%d",&v[i]);
for (i=0; i<=n-2; ++i)
{
for (j=i+1; j<=n-1; ++j)
{
if (v[i]>v[j])
{
aux=v[i];
v[i]=v[j];
v[j]=aux;
}
}
}
for (i=0; i<=n-2; ++i)
{
k=i+2;
for (j=i+1; j<=n-1; ++j)
{
while (k<=n-1 && v[i]+v[j]>v[k])
++k;
if (k>j)
num=num+k-j-1;
}
}
/*for (i=n-1; i>=2; --i)
{
if (v[i]-v[i-1]>v[i-2])
continue;
{
for (j=i-1; j>=1; --j)
{
if (v[j]<=v[i]-v[j])
break;
for (k=j-1; k>=0; --k)
{
if (v[j]+v[k]>v[i])
++num;
else
{
break;
}
}
}
}
}*/
fprintf(iesire,"%d",num);
}