Cod sursa(job #2894404)

Utilizator DooMeDCristian Alexutan DooMeD Data 27 aprilie 2022 19:54:32
Problema Oite Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const int nmax = 1024;

ll v[nmax+5];
map<ll, int> m;

int main() {
    ifstream f("oite.in");
    ofstream g("oite.out");

    int n; ll s; f >> n >> s;
    for(int i=1; i<=n; i++) f >> v[i];
    sort(v+1, v+n+1);
    ll ans = 0;
    for(int i=1; i<=n; i++) {
        for(int j=i+1; j<=n; j++) {
            if(v[i] + v[j] > s) break;
            if(m.count(s-v[i]-v[j])) ans += m[s-v[i]-v[j]];
        }
        for(int j=1; j<i; j++) m[v[i] + v[j]]++;
    }
    g << ans;
    return 0;
}