Pagini recente » Cod sursa (job #429250) | Cod sursa (job #367398) | Cod sursa (job #680434) | Cod sursa (job #1060471) | Cod sursa (job #445663)
Cod sursa(job #445663)
#include<fstream.h>
int n,x[801],nr,y[801];
void inter(int st,int m,int dr)
{
int k=st,i=st,j=m+1;
while(i<=m && j<=dr)
if(x[i]<=x[j])y[k++]=x[i++];
else y[k++]=x[j++];
while(i<=m)y[k++]=x[i++];
while(j<=dr)y[k++]=x[j++];
for(i=st;i<=dr;i++)x[i]=y[i];
}
void sort(int st,int dr)
{
if(st<dr)
{
int m=st+(dr-st)/2;
sort(st,m);sort(m+1,dr);
inter(st,m,dr);
}
}
int main()
{
ifstream f("nrtri.in");ofstream g("nrtri.out");
int i,j,k;
f>>n;for(i=1;i<=n;i++)f>>x[i];
sort(1,n);
for(i=1;i<=n-2;i++)
for(j=i+1;j<=n-1;j++)
for(k=j+1;k<=n && x[i]+x[j]>=x[k];k++)nr++;
g<<nr;
f.close();g.close();
return 0;
}