Pagini recente » Cod sursa (job #2165224) | Cod sursa (job #753122) | Cod sursa (job #2774658) | Cod sursa (job #2254470) | Cod sursa (job #1971280)
#include <fstream>
#include <vector>
using namespace std;
ifstream fin ("oite.in");
ofstream fout ("oite.out");
int v[1030];
vector < int > Hash[6553];
int key (int a){
return a%6553;
}
int main (){
int n,s;
long long sol = 0;
fin >> n >> s;
for (int i = 1; i <= n; ++i){
fin >> v[i];
}
for (int i = 1; i < n; ++i){
for (int j = i + 1; j <= n; ++j){
int sum = s - (v[i] + v[j]);
if (sum >= 0){
vector < int > :: iterator it;
int k = key(sum);
for (it = Hash[k].begin(); it != Hash[k].end(); ++it)
if (*it == sum)
sol++;
}
}
for (int j = 1; j < i; ++j){
int k = key(v[i] + v[j]);
Hash[k].push_back(v[i]+v[j]);
}
}
fout << sol << "\n";
}