Cod sursa(job #2975159)

Utilizator MihaiCostacheCostache Mihai MihaiCostache Data 5 februarie 2023 16:46:02
Problema Oite Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.98 kb
#include <bits/stdc++.h>
#define MOD 999995
using namespace std;

ifstream fin("oite.in");
ofstream fout("oite.out");
int c;
long long int l, v[1100], nr;
vector < pair <int, int> > m[1000001];
int main()
{
    fin>>c>>l;
    for(int i=1; i<=c; i++)
    {
        fin>>v[i];
    }
    for(int i=1; i<c; i++)
    {
        for(int j=i+1; j<=c; j++)
        {
            int rest=(l-v[i]-v[j])%MOD;
            for(int k=0; k<m[rest].size(); k++)
            {
                if(m[rest][k].first==l-v[i]-v[j])
                    nr++;
            }
        }
        for(int j=1; j<i; j++)
        {
            int rest=(v[i]+v[j])%MOD;
            int ok=0;
            for(int k=0; k<m[rest].size(); k++)
            {
                if(m[rest][k].first==v[i]+v[j])
                {
                    ok=1;
                    m[rest][k].second++;
                }
            }
            if(ok==0)
                m[rest].push_back({v[i]+v[j], 1});
        }
    }
    fout<<nr;
    return 0;
}