Cod sursa(job #2083515)

Utilizator vladstanciuVlad Stanciu vladstanciu Data 7 decembrie 2017 20:00:44
Problema Numarare triunghiuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <fstream>
#include <algorithm>

using namespace std;

ifstream in("nrtri.in");
ofstream out("nrtri.out");

const int N=801;
int v[N];

int functie1(int x , int n , int j)
{
     int r=0,pas,p;
     pas=1<<9;
     while(pas!=0)
     {
         if(r+pas<=n && v[r+pas]<=x)
         {
              r+=pas;
         }
         pas/=2;
     }
     if(r!=0)
     {
        p=r-j;
        //out<<p<<"\n";
        return p;
     }
     return 0;
}

int main()
{
    int n,i,s=0,j,x;
    in>>n;
    for(i=1 ; i<=n ; i++)
    {
        in>>v[i];
    }
    sort(v+1,v+n+1);
    for(i=1 ; i<n ; i++)
    {
        for(j=i+1 ; j<=n ; j++)
        {
            //out<<v[i]<<" "<<v[j]<<"\n";
            x=v[i]+v[j];
            s+=functie1(x,n,j);
        }
    }
    out<<s;
    return 0;
}