Cod sursa(job #3172516)

Utilizator octavian202Caracioni Octavian Luca octavian202 Data 20 noiembrie 2023 19:57:12
Problema Oite Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <iostream>
#include <fstream>
#include <unordered_map>

#define ll long long

using namespace std;

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

ll v[1025];
unordered_map<ll, ll> f;

int main() {

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

    ll res = 0;
    for (int i = 1; i <= n; i++) {
        for (int j = i + 1; j <= n; j++) {
            if (f.find(s - v[i] - v[j]) != f.end()) {
                res += f[s - v[i] - v[j]];
            }
        }

        for (int j = 1; j <= i - 1; j++) {
            f[v[i] + v[j]]++;
        }
    }

    fout << res;

    return 0;
}