Cod sursa(job #2077733)

Utilizator ilie0712Botosan Ilie ilie0712 Data 28 noiembrie 2017 15:30:37
Problema Numarare triunghiuri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in("nrti.in");
ofstream out("nrti.out");
const int L=10;
int n, v[801];



int caut1( int v[], int n, int x)
{
   int pas=1<<L;
   int r=0;
   while(pas!=0)
   {
     if(r+pas<=n && v[r+pas]<=x)
     r+=pas;

     pas/=2;
   }

   return r;
}


int main()
{
int n,ok=0,x,j;
in>>n;
for(int i=1; i<=n; ++i) in>>v[i];
sort(v+1, v+n+1);
for(int i=1; i<n; ++i)
  for( j=i+1; j<=n; ++j)
     {
       x=caut1(v,n, v[i]+v[j]);
       if(x!=0) ok+=x-j;
     }
  out<<ok;

    return 0;
}