Pagini recente » Istoria paginii utilizator/al3xandru | Rating Oancea Alexandru-Nicolae (stimpack) | Cod sursa (job #1134558) | Profil M@2Te4i | Cod sursa (job #961190)
Cod sursa(job #961190)
#include<fstream>
#include<vector>
#define MOD 6013
#define MAX_SIZE 1025
using namespace std;
ifstream f("oite.in");
ofstream g("oite.out");
vector<int>HASH[MOD];
int L,C,Answer;
int v[MAX_SIZE];
void Read( void )
{
f>>C>>L;
for(int i(1) ; i <= C ; f>>v[i++]);
f.close();
}
void Solve ( void )
{
for(int i(1) ; i < C ; ++i )
{
for(int ii(i+1); ii <= C ; ++ii )
if( L-v[i]-v[ii] >= 0 )
{
{
int key;
key=L-v[i]-v[ii];
int val(L-v[i]-v[ii]);
key%=MOD;
for( vector<int>::iterator it=HASH[key].begin() ; it!= HASH[key].end() ; ++it )
if( *it == val )
++Answer;
}
}
for(int ii(1) ; ii < i ; ++ii )
{
int key,val;
val=v[i]+v[ii];
key=val%MOD;
HASH[key].push_back(val);
}
}
}
void Write ( void )
{
g<<Answer<<"\n";
g.close();
}
int main ( void )
{
Read();
Solve();
Write();
return 0;
}