Cod sursa(job #58132)

Utilizator cos_minBondane Cosmin cos_min Data 4 mai 2007 12:41:55
Problema Oite Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.12 kb
// N^3
#include <stdio.h>
using namespace std;

#define in "oite.in"
#define out "oite.out"
#define dim 1000001

int A[dim];
int N, L, C[1025];

int main()
{
    freopen(in,"r",stdin);
    freopen(out,"w",stdout);
    
    scanf("%d%d", &N, &L);
    for ( int i = 1; i <= N; i++ )
    {
        scanf("%d", &C[i]);
        A[C[i]] = 1;
    }
    
    int total = 0;
    
    for ( int i = 1; i < N-2; i++ )
        for ( int j = i+1; j < N-1; j++ )
            for ( int k = j+1; k < N; k++ )
            {
                int t = C[i] + C[j] + C[k];
                t = L - t;
                A[C[i]] -= 1;
                A[C[j]] -= 1;
                A[C[k]] -= 1;
            
                if ( t >= 0 )
                {
                     if ( A[t] == 1 ) 
                     {
                        //  printf("%d %d %d %d\n", i, j, k, t);
                          total += 1;
                     }
                }
                
                A[C[i]] += 1;
                A[C[j]] += 1;
                A[C[k]] += 1;
            }
            
    printf("%d", total);
}