Pagini recente » Cod sursa (job #38984) | Cod sursa (job #1103154) | Cod sursa (job #2120444) | Cod sursa (job #2413095) | Cod sursa (job #2975802)
#include <fstream>
#include <algorithm>
#include <vector>
#define MOD 13703
using namespace std;
ifstream cin("oite.in");
ofstream cout("oite.out");
int i, j, n, m, st, dr, sum, S, mid, K, nr, rest, mod, i1, j1, k, ok;
int v[1025];
vector <pair<int, int>> s[MOD+2];
int main() {
cin>>n>>S;
for(i=1;i<=n;i++)
cin>>v[i];
for(i=1;i<n;i++){
for(j=i+1;j<=n;j++){
rest=S-v[i]-v[j];
if(rest>0){
mod=rest%MOD;
for(k=0;k<s[mod].size();k++){
if(s[mod][k].first==rest){
nr+=s[mod][k].second;
}
}
}
}
for(j1=1;j1<i;j1++){
ok=0;
mod=(v[i]+v[j1])%MOD;
if(mod>S)
continue;
for(k=0;k<s[mod].size();k++){
if(s[mod][k].first==v[i]+v[j1]){
ok=1;
s[mod][k].second++;
}
}
if(ok==0){
s[mod].push_back({v[i]+v[j1], 1});
}
}
}
cout<<nr;
}