Cod sursa(job #1149212)

Utilizator usermeBogdan Cretu userme Data 21 martie 2014 15:38:38
Problema Numarare triunghiuri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <cstdio>
#include <algorithm>

using namespace std;

int v[801],c[60005];

int main()
{
    FILE*f=fopen("nrtri.in","r");
    FILE*h=fopen("nrtri.out","w");
    int n;
    fscanf(f,"%d",&n);
    for ( int i=1;i<=n;++i ){
        fscanf(f,"%d",&v[i]);
        c[v[i]]++;
    }
    for ( int i=1;i<=60001;++i ){
        c[i]+=c[i-1];
        //fprintf(h,"%d ",c[i]);
    }
    sort(v+1,v+n+1);
    int s=0;
    for ( int i=1;i<=n;++i )
        for ( int j=i+1;j<=n;++j ){
            s+=c[v[j]+v[i]]-c[v[i]]-2;
            if ( v[i]<v[j]-v[i] )
                ++s;
            //fprintf(h,"%d %d %d\n",v[i],v[j],s);
        }
    fprintf(h,"%d",s);
    return 0;
}