Pagini recente » Cod sursa (job #527402) | Cod sursa (job #636577) | Cod sursa (job #2701387) | Cod sursa (job #1643121) | Cod sursa (job #445657)
Cod sursa(job #445657)
#include<fstream.h>
int n,x[801],nr;
void inter(int st,int dr)
{
int y[801],k=st,i=st,m=st+(dr-st)/2,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,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;
}