Cod sursa(job #542012)

Utilizator stef2503Stefan Stan stef2503 Data 25 februarie 2011 18:03:27
Problema Numarare triunghiuri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <stdio.h>
#include <algorithm>
using namespace std;

struct tri {
    int s; int x; int y;
};

int cmp (tri m, tri n)
{
    return m.s<n.s;
}

int v[801];
tri a[60001];

int main ()
{
    freopen("nrtri.in", "r", stdin);
    freopen("nrtri.out", "w", stdout);
    int n, i, j, st, dr, p, x;
    scanf("%d", &n);
    for (i=1; i<=n; i++)
        scanf ("%d", &v[i]);
    p=1;
    for (i=1; i<=n; i++) {
        for (j=i+1; j<=n; j++) {
            a[p].s=i+j;
            a[p].x=i;
            a[p].y=j;
            p++;
        }
    }
    sort (a+1, a+p, cmp);
    int c=0;
    for (i=1; i<p; i++) {
        x=a[i].s;
        for (j=1; j<=n; j++)
        {
            if (v[j]<=x) {
                if ((j!=a[i].x) && (j!=a[i].y))
                    c++;
            }
        }
    }
    printf ("%d", c);
    return 0;
}