Cod sursa(job #3193479)

Utilizator gianiferSpita Alexandru-Mihai gianifer Data 14 ianuarie 2024 18:03:05
Problema Oite Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <bits/stdc++.h>

#define MOD 999342

#define N_MAX 1000000

using namespace std;

ifstream fin("oite.in");

ofstream fout("oite.out");

int resturi[N_MAX];

int oi[1030];
int n, l;
long long int rez = 0;
int main()
{
    fin >> n >> l;
    for (int i = 1; i <= n; i++)
        fin >> oi[i];
    sort(oi + 1, oi + n + 1);
    for (int i = 2; i < n - 1; i++)
    {
        for (int j = 1; j <= i - 1; j++)
        {
            resturi[(oi[i] + oi[j]) % MOD]++;
        }
        for (int j = i + 2; j <= n; j++)
        {
            if ((l - oi[i + 1] - oi[j]) >= (oi[1] + oi[2]))
                rez += resturi[l - oi[i + 1] - oi[j]];
        }
    }
    fout<<rez;
}