Cod sursa(job #1795117)

Utilizator RadduFMI Dinu Radu Raddu Data 1 noiembrie 2016 23:40:33
Problema Numarare triunghiuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("nrtri.in");
ofstream g("nrtri.out");
int n,a[1005];

int Cbin(int x,int sum)
{ int step;
  for(step=1;step<=n;step<<=1);

  for(;step;step>>=1)
   if (x+step<=n && a[x+step]<=sum)
      x+=step;

 return x;
}

int main()
{ int sum,i,j,sol=0;
    f>>n;
    for(i=1;i<=n;i++)
      f>>a[i];
 sort(a+1,a+n+1);
    for(i=1;i<=n-2;i++)
     for(j=i+1;j<=n-1;j++)
     { sum=a[i]+a[j];
       sol+=Cbin(j,sum)-j;

     }
    g<<sol;
    return 0;
}