Pagini recente » Cod sursa (job #109722) | Cod sursa (job #2147965) | Cod sursa (job #191121) | Cod sursa (job #3160233) | Cod sursa (job #2065701)
#include<fstream>
#include<cstdlib>
using namespace std;
ifstream f("nrtri.in");
ofstream g("nrtri.out");
int hoare(int a[],int p,int r)
{
int pivot= a[p+(rand()%(r-p+1))],i,j;
i=p-1;
j=r+1;
while(true){
do{
++i;
}while(a[i]<pivot);
do{
--j;
}while(a[j]>pivot);
if(i>=j)return j;
int aux=a[i];
a[i]=a[j];
a[j]=aux;
}
}
void quicksort(int a[],int p,int r){
if(p<r){
int q=hoare(a,p,r);
quicksort(a,p,q);
quicksort(a,q+1,r);
}
}
int main()
{
int v[800],i,n,j,k,nr=0;
f>>n;
for(i=0;i<n;i++)
f>>v[i];
quicksort(v,0,n-1);
for(i=0;i<n-2;++i)
for(j=i+1;j<n-1;++j)
{
k=j+1;
while(v[i]+v[j]>=v[k])
{
++nr;
++k;
}
}
g<<nr;
return 0;
}