Cod sursa(job #3221969)

Utilizator Chris_BlackBlaga Cristian Chris_Black Data 8 aprilie 2024 18:33:28
Problema Oite Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <bits/stdc++.h>
#define FOR(i, a, b) for(int i = a; i <= b; ++i)
#define FORR(i, a, b) for(int i = a; i >= b; --i)
#define vi vector<int>
#define pb push_back
#define vvi vector<vi>
#define pii pair<int, int>
#define ff first
#define ss second
#define all(v) (v).begin(), (v).end()
using namespace std;
const string TASK("oite");
ifstream fin(TASK + ".in");
ofstream fout(TASK + ".out");
#define cin fin
#define cout fout

const int N = 1109, M1= 666013, M2 = 797161;

unordered_map<int, int> mp;


int n, l, a[N];

int main()
{
    cin >> n >> l;
    FOR(i, 1, n)cin >> a[i];

    int ans = 0;
    FOR(i, 1, n)
    {
        FOR(j, i + 1, n)
            if(a[i] + a[j] <= l)
                ans += mp[l - a[i] - a[j]];

        FOR(j, 1, i - 1)mp[a[i] + a[j]] ++;
    }

    cout << ans << '\n';
    return 0;
}