Cod sursa(job #2217168)

Utilizator Constantin.Dragancea Constantin Constantin. Data 29 iunie 2018 13:41:27
Problema Oite Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <bits/stdc++.h>
using namespace std;

#define fi first
#define se second
int n, l, a[1030];
long long ans;
unordered_map <int, int> M; //perechi de cate 2

int main(){
    ifstream cin ("oite.in");
    ofstream cout ("oite.out");
    cin >> n >> l;
    M.reserve(n * (n-1)/2 + 10);
    for (int i=1; i<=n; i++) cin >> a[i];
    for (int i=3; i<n; i++){
        for (int j=1; j < i-1; j++) M[a[i-1]+a[j]]++;
        for (int j=i+1; j<=n; j++)
            if (l - a[i] - a[j] >= 0) ans += M[l - a[i] - a[j]];
    }
    cout << ans;
    return 0;
}