Pagini recente » Cod sursa (job #1627650) | Cod sursa (job #768656) | Cod sursa (job #2402607) | Cod sursa (job #647208) | Cod sursa (job #1144417)
#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 k= x % MOD;
for( vector<int>::iterator it=H[k].begin(); it!=H[k].end(); ++it ) {
if( *it == 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= i-1; j>0; --j ) {
H[ ( v[i]+v[j] ) % MOD ].push_back( v[i]+v[j] );
}
}
out << sol << '\n';
return 0;
}