Cod sursa(job #338591)

Utilizator sigridMaria Stanciu sigrid Data 6 august 2009 11:50:15
Problema Numarare triunghiuri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include<stdio.h>
#define dim 30002

int v[dim], w[dim];

int main()
{
    int N, i, j, sum, rez, x, max;
    
    freopen("nrtri.in", "r", stdin);
    freopen("nrtri.out", "w", stdout);
    
    scanf("%d", &N);
    
    max = -1;
    rez = 0;
    sum = 0;
    
    for(i = 1; i <= N; i++)
    {
          scanf("%d", &x);
          v[x]++;
          if(x > max) max = x;
    }
    
    for(i = 1; i <= max; i++)
	  w[i] = v[i] + w[i - 1];
    
    for(i = 1; i <= max; i++)
    {
          if( v[i] )
          {
	      for(j = i + 1; j<= max; j++)
              {
                    if( v[j] )
                    {
                        sum = i + j;
			if(w[sum])	rez = rez + ( w[sum] - w[j] );
                    }
              }
          }
    }
    
    printf("%d\n", rez);
    
    return 0;
    
}