Pagini recente » Cod sursa (job #1229641) | Cod sursa (job #1144768) | Cod sursa (job #2147974) | Cod sursa (job #1777762) | Cod sursa (job #1144772)
#include <algorithm>
#include <fstream>
#include <vector>
using namespace std;
ifstream in( "oite.in" );
ofstream out( "oite.out" );
const int mod= 666013;
int v[1028];
vector <int> H[mod];
int sol;
void functie_( int x )
{
for ( vector <int>::iterator it= H[x%mod].begin(); it!=H[x%mod].end(); ++it )
{
if ( *it==x )
{
++sol;
}
}
}
int main( )
{
int n, suma;
in >> n >> suma;
for ( int i= 1; i<=n; ++i )
{
in>>v[i];
}
sort( v+1, v+n+1 );
for ( int i= 1; i<=n; ++i )
{
for ( int j= i+1; j<=n; ++j )
{
if ( suma >= v[i]+v[j] )
{
functie_(suma-v[i]-v[j]);
}
}
for ( int j= i-1; j>=1; --j )
{
H[ ( v[i]+v[j] ) % mod ].push_back(v[i]+v[j]);
}
}
out << sol << "\n";
return 0;
}