Cod sursa(job #1535837)

Utilizator constantinescu15Constantinescu Mirela constantinescu15 Data 25 noiembrie 2015 11:28:29
Problema Numarare triunghiuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <fstream>

#include <algorithm>

using namespace std;

int main()
{
    int n,i,k, v[801],p,j,L,pas,rez=0;
    ifstream in("nrtri.in");
    ofstream out("nrtri.out");
    in>>n;
    for(i=1; i<=n; i++)
        in>>v[i];
    sort(v+1, v+n+1);
    for(i=1; i<=n-2; i++)
        for(j=i+1; j<=n-1; j++)
        {
            p=0;
            L=15;
            pas=1<<L;
            while(pas!=0)
            {
                if(p+pas<=n and v[p+pas]<=v[i]+v[j])
                    p += pas;
                pas/=2;
            }
            rez += p - j;
        }
    out<<rez;
    in.close();
    out.close();
    return 0;
}