Pagini recente » Cod sursa (job #1588142) | Cod sursa (job #400503) | Cod sursa (job #1518008) | Cod sursa (job #2660058) | Cod sursa (job #179731)
Cod sursa(job #179731)
#include<fstream.h>
int v[1000],i,n,ok=0,sol=0,s,d,m,j,aux;
int main()
{
ifstream f("nrtri.in");
ofstream g("nrtri.out");
f>>n;
for(i=1;i<=n;i++)
f>>v[i];
while(!ok)
{ ok=1;
for(i=1;i<n;i++)
if(v[i]>v[i+1]) {aux=v[i]; v[i]=v[i+1]; v[i+1]=aux; ok=0;}
}
for(i=1;i<=n-2;i++)
for(j=i+1;j<n;j++)
{
s=j+1; d=n;
m=(s+d)/2; ok=0;
while(s<=d&&!ok)
if(v[m]<=v[i]+v[j]&&v[m+1]>v[i]+v[j]||v[m]<=v[i]+v[j]&&m==n)
ok=1;
else if(v[m]<=v[i]+v[j]&&v[m+1]<=v[i]+v[j])
{s=m+1; m=(s+d)/2;}
else
{d=m-1; m=(s+d)/2;}
if(ok)
sol=sol+m-j;
}
g<<sol;
f.close();
g.close();
return 0;
}