Cod sursa(job #507376)

Utilizator APOCALYPTODragos APOCALYPTO Data 5 decembrie 2010 21:30:33
Problema Numarare triunghiuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
using namespace std;


#include<iostream>
#include<fstream>
#include<algorithm>
int N,a[805];
ofstream fout("nrtri.out");
void cit()
{
    int i;
    ifstream fin("nrtri.in");
    fin>>N;
    for(i=1;i<=N;i++)
    {
        fin>>a[i];
    }
    fin.close();
}

int main()
{int sum=0,i,j,k,cmp;
    cit();
    sort(a+1,a+N+1);
    for(i=1;i<=N-2;i++)
      for(j=i+1;j<=N-1;j++)
        {for(k=j,cmp=1<<10;cmp;cmp/=2)
        {
            if(k+cmp<=N)
              if(a[i]+a[j]>=a[k+cmp])
               k+=cmp;
        }
        sum+=k-j;
        }

      fout<<sum<<" ";
    fout.close();
    return 0;
}