Cod sursa(job #1068520)

Utilizator Pop_EmilPal Tamas Pop_Emil Data 28 decembrie 2013 14:03:14
Problema Numarare triunghiuri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <algorithm>
#include <stdio.h>
using namespace std;

int N,t[802],Rez=0;

void _read()
{
   freopen("nrtri.in","r",stdin);
   freopen("nrtri.out","w",stdout);

   scanf("%d",&N);

   for(int i=0;i<N;i++)
     scanf("%d",&t[i]);
}


int bins(int arg,int k)
{
    if(arg==t[k])
        return k;
    else
    if(k==N-1 && t[k]<arg)
        return k;
    else

   if(t[k-1]<arg && arg<t[k] && k>0)
        return k-1;
  else

   if(arg<=t[k])
        bins(arg,k/2);
   else bins(arg,k+k/2);

}

int main()
{
 _read();

sort(t,t+N);

 for(int i=0;i<N-2;i++)
    for(int j=i+1;j<N-1;j++)
     {
       Rez+=bins(t[i]+t[j],N/2)-j;
     }

 printf("%d",Rez);

return 0;
}