Pagini recente » Cod sursa (job #2212707) | Cod sursa (job #2854846) | Cod sursa (job #2024738) | Cod sursa (job #2813843) | Cod sursa (job #87834)
Cod sursa(job #87834)
#include<fstream.h>
#include<stdlib.h>
#define InFile "nrtri.in"
#define OutFile "nrtri.out"
int a[801],n,i,j,k;
long t=0,s;
ifstream in(InFile);
int sortf(const void* a,const void* b)
{
return *(int*)a-*(int*)b;
}
void poz(int li,int ls,int& k,int a[100])
{
int i=li,j=ls,c,i1=0,j1=-1;
while(i<j)
{
if(a[i]>a[j]){c=a[j];a[j]=a[i];a[i]=c;c=i1;i1=-j1;j1=-c;}
i=i+i1;
j=j+j1;
}
k=i;
}
void quick(int li,int ls)
{
if(li<ls){
poz(li,ls,k,a);
quick(li,k-1);
quick(k+1,ls);
}
}
int main()
{
in>>n;
for(i=1;i<=n;i++)in>>a[i];
in.close();
qsort(a+1,n,sizeof(a[0]),sortf);
for(i=1;i<n-1;i++)
for(j=i+1;j<n;j++)
{s=a[i]+a[j];
for(k=j+1;k<=n;k++)if(s>=a[k])t++;
else break;}
ofstream out(OutFile);
out<<t<<'\n';
out.close();
return 0;
}