Pagini recente » Cod sursa (job #106626) | Cod sursa (job #556325) | Cod sursa (job #1867391) | Cod sursa (job #1189070) | Cod sursa (job #1552229)
#include <fstream>
#include<iostream>
using namespace std;
ifstream f("nrtri.in");
ofstream g("nrtri.out");
void caut(int v[801],int i,int j,int &S,int a,int b)
{if(a+2<=b && v[(a+b)/2]+v[i]>=v[j] && v[(a+b)/2]+v[j]>=v[i] && v[j]+v[i]>=v[(a+b)/2]) S++;
if(a<b)
{caut(v,i,j,S,a,(a+b)/2-1);
caut(v,i,j,S,(a+b)/2+1,b);}}
int main()
{int N,v[801],b,a,i,j,k,S=0;
f>>N;
for(i=1;i<=N;i++) f>>v[i];
for(i=1;i<=N-1;i++)
for(j=i+1;j<=N;j++)
if(v[i]>v[j]) {k=v[i];v[i]=v[j];v[j]=k;}
for(i=1;i<=N-1;i++)
for(j=i+1;j<=N;j++)
{a=i;b=j;caut(v,i,j,S,a,b);}
g<<S;f.close();g.close();
return 0;}