Cod sursa(job #1663184)

Utilizator tudorv96Tudor Varan tudorv96 Data 25 martie 2016 16:48:43
Problema Oite Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <unordered_map>
#include <fstream>

using namespace std;

unordered_map <long long, int> M;
int v[1030], n, s;
long long sol;

int main() {
    ifstream fin("oite.in");
    ofstream fout("oite.out");

    fin >> n >> s;
    for (int i = 0; i < n; ++i)
        fin >> v[i];

    M[v[0] + v[1]] = 1;

    for (int i = 2; i < n - 1; ++i) {
        for (int j = i + 1; j < n; ++j)
            if(s - v[i] - v[j] > 0)
                sol += M[s - v[i] - v[j]];
        for (int j = 0; j < i; ++j)
            M[v[i] + v[j]]++;
    }

    fout << sol;

    fout.close();
    fin.close();
    return 0;
}