Cod sursa(job #825778)

Utilizator frumushelRadu Lucian Andrei frumushel Data 29 noiembrie 2012 16:06:10
Problema Numarare triunghiuri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.03 kb
#include<iostream>
#include<stdio.h>
#include<algorithm>

using namespace std;

int a[802];
int x,n;

inline int cmp(int a, int b)
{
       return a<b;
}

bool cautbin(int li, int ls)
{
     int m;
     if(li > ls) return false;
     else
     {
        m = (li + ls)/ls;
        if(a[m] >= x) return true;
        
        if(a[m] < x)
                cautbin(li, m-1);
        else
                cautbin(m+1,ls);
     }
     
}

int main()
{
  int i,j,nr=0;

  FILE *f = fopen("nrtri.in", "r");
  FILE *g = fopen("nrtri.out", "w");
  
  fscanf(f, "%d", &n);
  
  for(i=0;i<n;i++)
     fscanf(f, "%d", &a[i]);
  
  
  sort(a,a+n,cmp);
  /*for(i=0;i<n;i++)
                  cout<<a[i]<<" ";
  */
  for(i=0;i<n-2;i++)
     for(j=i+1;j<n-1;j++)
        for(int k=j+1;k<n;k++)
          if(a[k] <= a[i] + a[j]) {nr++;break;} 
     /*{
        x = a[i]+a[j];
        if(cautbin(1,n))nr++;
        cout<<x<<" "<<cautbin(1,n)<<endl;
     }*/
     
  fprintf(g,"%d", nr);
  //system("pause");
  
}