Cod sursa(job #825785)

Utilizator frumushelRadu Lucian Andrei frumushel Data 29 noiembrie 2012 16:21:04
Problema Numarare triunghiuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.95 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;
}



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++)
     {
        int ok=0;
        for(int k=j+1;k<n && ok==0;k++)
        {
          //if( ( a[i] + a[j] >= a[k] ) && (a[j] + a[k] >= a[i]) && (a[i]+a[k] >= a[j])) {nr++;ok=1;} 

          if(a[i] + a[j] < a[k])break;
          nr++;
          
          
        }
     }
     /*{
        x = a[i]+a[j];
        if(cautbin(1,n))nr++;
        cout<<x<<" "<<cautbin(1,n)<<endl;
     }*/
     
  fprintf(g,"%d", nr);
  //system("pause");
  
}