Cod sursa(job #2523958)

Utilizator denmirceaBrasoveanu Mircea denmircea Data 14 ianuarie 2020 21:32:31
Problema Oite Scor 90
Compilator cpp-32 Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <fstream>
#include<unordered_map>
#define mod 11597
#define caut (sum-v[j])
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;
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){
        sum-=v[i];
        for(j=i+1;j<=n;++j)
          if(caut>=0&&(it=m[caut%mod].find(caut))!=m[caut%mod].end())
              sol+=it->second;
        sum+=v[i];
        for(j=1;j<i;++j)
            ++m[(v[i]+v[j])%mod][v[i]+v[j]];
    }
    fout<<sol;
}