Cod sursa(job #1838720)

Utilizator TimitocArdelean Andrei Timotei Timitoc Data 1 ianuarie 2017 17:05:42
Problema Oite Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <iostream>
#include <cstdio>
#include <unordered_map>
#include <algorithm>
#define MAXN 1050

using namespace std;

int c, L;
int a[MAXN];
unsigned int sol;
unordered_map<int, int> m;

void read()
{
    scanf("%d %d", &c, &L);
    for (int i = 1; i <= c; i++)
       scanf("%d", &a[i]);
}

void solve()
{
    for (int i = 3; i <= c; i++) {
        for (int j = 1; j < i-1; j++)
            m[a[j] + a[i-1]]++;
        for (int j = i+1; j <= c; j++)
            sol += m[L-a[i]-a[j]];
    }
}

int main()
{
    freopen("oite.in", "r", stdin);
    freopen("oite.out", "w", stdout);

    read();
    sort(a+1, a+1+c);
    solve();
    printf("%u", sol);

    return 0;
}