Cod sursa(job #1391272)

Utilizator GabiBGabriel GabiB Data 17 martie 2015 19:19:13
Problema Numarare triunghiuri Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <iostream>
#include <fstream>

using namespace std;

int main()
{
    int N,v[800],i=0,j,k,aux,x,rez=0,z,a,b;
    ifstream f("nrtri.in");
    ofstream g("nrtri.out");

    f>>N;
    for(i=0;i<N;i++)
    {
        f>>x;
        v[i]=x;
    }

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

    for(a=0;a<N-2;a++)
    {
        z=a+2;
        for(b=a+1;b<N-1;b++)
        {
            while(z<N && v[z]<=v[a]+v[b])
                z++;

            if(z>b-1)
            {
                //g << "pentru v[a] = " << v[a] << " si v[b] = " << v[b] << " avem v[z] = " << v[z] << "\n";
                rez+=z-b-1;
            }
        }
    }

    g<<rez;

    return 0;
}