Cod sursa(job #2784422)

Utilizator MateiAruxandeiMateiStefan MateiAruxandei Data 16 octombrie 2021 14:04:51
Problema Oite Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <bits/stdc++.h>

using namespace std;

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

const int NMAX(1030);
unordered_map<int, int> mp;
int v[NMAX];

int main()
{
    int c, l;
    fin >> c >> l;

    for(int i = 1; i <= c; ++i)
        fin >> v[i];

    sort(v + 1, v + c + 1);

    int rez = 0;
    for(int i = 1; i < c; ++i){
        for(int j = i + 1; j <= c; ++j){
            if(l - v[i] - v[j] < 0)
                break;
            if(mp.find(l - v[i] - v[j]) != mp.end())
                rez += mp[l - v[i] - v[j]];
        }
        for(int j = 1; j < i; ++j)
            mp[v[i] + v[j]]++;
    }
    fout << rez << '\n';
    return 0;
}