Cod sursa(job #1360499)

Utilizator sorincusmareIacob Sorin sorincusmare Data 25 februarie 2015 15:37:02
Problema Numarare triunghiuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("nrtri.in");
ofstream g("nrtri.out");
int v[801];
int main()
{
  int n,i,j,pas,l=0,k=0;
  f>>n;
  pas=1<<10;
  for(i=1;i<=n;i++)
    f>>v[i];
  sort(v,v+n+1);
  for (i=1;i<=n;i++)
    for(j=i+1;j<=n;j++)
    {
       l=0;
       pas = 1 << 10;
       while(pas!=0)
       {
            if(l+pas<=n && v[l+pas]<=v[i]+v[j])
                {
                 //g<<v[i]<<" "<<v[j]<<" "<<v[l+pas]<<"\n";
                 l+=pas;
                }
            pas/=2;
       }
       if(l >= j)
       {
            k=k+l-j;
            //g<<v[i]<<" "<<v[j]<<" "<<v[l]<<"\n";
        }
    }
    g<<k;
}