Cod sursa(job #1321660)

Utilizator sterymanSterian Cosmin Cristian steryman Data 19 ianuarie 2015 14:08:57
Problema Numarare triunghiuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <fstream>

using namespace std;

int v[801];

int main()
{
    ifstream f("nrtri.in");
    ofstream g("nrtri.out");

    int n, i, j, aux, pas, s, k, l=0;
    f>>n;
    for(i=1;i<=n;i++)
        f>>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-1;i++)
        for(j=i+1;j<n;j++)
        {
            pas = 1<<15;
            s=v[i]+v[j];
            k=1;
            while(pas!=0)
            {
                if(k+pas<=n && v[k+pas]<=s)
                    k+=pas;
                pas/=2;
            }
            l=l+k-j;
        }
    g<<l;
    f.close();
    g.close();
    return 0;
}