Pagini recente » Cod sursa (job #1449917) | Cod sursa (job #434872) | Cod sursa (job #1524864) | Cod sursa (job #2303359) | Cod sursa (job #2913661)
#include <bits/stdc++.h>
using namespace std;
ifstream fin( "oite.in" );
ofstream fout( "oite.out" );
const int DIM = 1 << 11;
const int MOD = 777013;
int v[DIM];
vector<int> val[MOD];
int main() {
int c, l;
fin >> c >> l;
for ( int i = 1; i <= c; ++i ) {
fin >> v[i];
}
int res = 0;
for ( int i = 1; i <= c; ++i ) {
for ( int j = i + 1; j <= c; ++j ) {
int rem = l - v[i] - v[j], cnt = 0;
for ( auto t : val[rem % MOD] ) {
cnt += (t == rem);
}
res += cnt;
}
for ( int j = 1; j < i; ++j ) {
val[(v[i] + v[j]) % MOD].push_back(v[i] + v[j]);
}
}
fout << res;
fin.close();
fout.close();
return 0;
}