Cod sursa(job #1552229)

Utilizator teosposibSposib Teodor Alexandru teosposib Data 17 decembrie 2015 15:19:23
Problema Numarare triunghiuri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#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;}