Cod sursa(job #1517353)

Utilizator alex_HarryBabalau Alexandru alex_Harry Data 4 noiembrie 2015 09:39:43
Problema Oite Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.81 kb
#include <fstream>
#include <vector>
#define MOD 666013
using namespace std;
ifstream f("oite.in");
ofstream g("oite.out");
vector <int> V[MOD],V2[MOD];
int C,L;
int N;
vector <int> :: iterator Find2(int value)
{
    int List=value%MOD;
    vector <int>:: iterator it;
    for(it=V2[List].begin();it!=V2[List].end();it++)
    {
        if(it->first==value)
            return it;
    }
    return V[List].end();
}
void Insert2(int value)
{
      int List=value%MOD;
       auto it=Find2(value);
      if(it==V2[List].end())
            V2[List].push_back(make_pair(value,1));
      else
        it->second++;
}
vector <int> :: iterator Find(int value)
{
    int List=value%MOD;
    vector <int>:: iterator it;
    for(it=V[List].begin();it!=V[List].end();it++)
    {
        if(it->first==value)
            return it;
    }
    return V[List].end();
}
void Insert(int value)
{
      int List=value%MOD;
      auto it=Find(value);
      if(it==V[List].end())
            V[List].push_back(make_pair(value,1));
      else
        it->second++;
}
void Delete(int value)
{
    int List=value%MOD;
     vector <int>:: iterator it=Find(value);
     if(it>second>1)
    it->second--;
    else
        V[List].erase(it);
}
void Read()
{
    f>>C>>L;
    for(int i=1;i<=C;i++)
    {
        cin>>Array[i];
        Insert2(Array[i]);
    }

}

void Solve()
{
     for(int i=1;i<=C;i++)
        for(int j=i+1;j<=C;j++)
        {
            int s=Array[i]+Array[j];
            Insert(s);

        }
    for(int i=1;i<=C;i++)
        for(int j=i+1;j<=C;j++)
        {
            int s=Array[i]+Array[j];
            if(s>L/2)
                continue;
            int List[s]
            if(Find(L-s)!=V)
            int aux=Find(L-s)->second;
            aux-=
        }
}