Cod sursa(job #2272085)

Utilizator aalexxdinu@gmail.comDinu Alexandra [email protected] Data 29 octombrie 2018 17:55:24
Problema Numarare triunghiuri Scor 70
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <iostream>
#include <fstream>

using namespace std;

int v[100];

int main()
{
    int N, r, pas, i, j, x, p=0, aux;
    ifstream in("nrtri.in");
    ofstream out("nrtri.out");

    in>>N;


    for (i=1; i<=N; i++)
        in>>v[i];

    for (i=1; i<N; i++)
        for (j=i+1; j<=N; j++)
            if (v[i]>v[j])
            {
                aux=v[i];
                v[i]=v[j];
                v[j]=aux;
            }

    for (i=1; i<=N-2; i++)
    {
        for (j=i+1; j<=N-1; j++)
        {
            x=v[i]+v[j];
            r=0;
            pas=1<<9;


            while (pas!=0)
            {
                if ((pas+r)<=N && v[pas+r]<=x)
                    r+=pas;
                pas/=2;
            }

            p+=r-j;
        }

    }
    out<<  p << endl;

    out.close ();
    in.close ();
    return 0;
}