Cod sursa(job #703297)

Utilizator al.mocanuAlexandru Mocanu al.mocanu Data 2 martie 2012 11:45:21
Problema Numarare triunghiuri Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <fstream>
using namespace std;

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

long long n,v[801],i,j,p,s=0,aux,a[30001];

int main()
{f>>n;
for(i=1;i<=n;i++)
f>>v[i];

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

j=1;
for(i=1;i<=v[n];i++)
{a[i]=0;
    while(v[j]==i)
{
    a[i]++;
    j++;
}
}

for(i=1;i<=n-1;i++)
{
    for(j=i+1;j<=n;j++)
    {p=v[j];
    while(v[i]+v[j]>=p)
    {
        if(v[i]==p)
        s=s+a[p]-1;

        else
        {
            if(v[j]==p)
            s=s+a[p]-1;

            else
            s=s+a[p];

        }
        p++;
    }
    }
}

g<<s;

    return 0;
}