Pagini recente » Cod sursa (job #2486773) | Cod sursa (job #2879715) | Cod sursa (job #1336876) | Cod sursa (job #1260724) | Cod sursa (job #1144318)
#include<fstream>
#include<vector>
using namespace std;
ifstream in("oite.in");
ofstream out("oite.out");
const int NMAX= 1024, MOD= 666013;
int v[ NMAX+1 ];
int n, S, s, sol;
vector <int> H[ MOD+2 ];
void RASP( int x ) {
int nod= x % MOD;
for( int i= 0; i<(int)H[nod].size(); ++i)
if( H[nod][i] == x)
sol++;
}
int main()
{
in >> n >> S;
for( int i= 1; i<=n; ++i ) {
in >> v[i];
}
for( int i= 1; i<n; ++i ) {
for( int j= i+1; j<=n; ++j ) {
if( S-v[i]-v[j] >= 0 ) {
RASP( S-v[i]-v[j] );
}
}
for( int j= 1; j<i; ++j ) {
int x= ( v[i]+v[j] ) % MOD;
H[x].push_back( v[i]+v[j] );
}
}
out << sol << '\n';
return 0;
}