Cod sursa(job #2523934)

Utilizator denmirceaBrasoveanu Mircea denmircea Data 14 ianuarie 2020 21:13:47
Problema Oite Scor 80
Compilator cpp-32 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <bits/stdc++.h>
#define mod 10013
using namespace std;
ifstream fin("oite.in");
ofstream fout("oite.out");
unordered_map<int,int>m[mod+10];
unordered_map<int,int>::iterator it;
int v[1050],i,j,n,sum,sol,caut;
int main()
{
    fin>>n>>sum;
    for(i=1; i<=n; i++)
        fin>>v[i];
    m[(v[1]+v[2])%mod][v[1]+v[2]]++;
    for(i=3; i<n; i++)
    {
        for(j=i+1; j<=n; j++)
        {
            caut=sum-v[i]-v[j];
            if(caut>=0){
                it=m[caut%mod].find(caut);
                if(it!=m[caut%mod].end())
                    sol+=it->second;
            }
        }
        for(j=1; j<i; j++)
            m[(v[i]+v[j])%mod][v[i]+v[j]]++;
    }
    fout<<sol;
}