Pagini recente » Cod sursa (job #1416473) | Cod sursa (job #1488391) | Monitorul de evaluare | Cod sursa (job #985005) | Cod sursa (job #1517353)
#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-=
}
}