Pagini recente » Cod sursa (job #2671268) | Istoria paginii utilizator/sodracri | Cod sursa (job #1612431) | Cod sursa (job #2547557) | Cod sursa (job #1940129)
#include <cstdio>
#include <vector>
#define MOD 997846
using namespace std;
vector <int> l[1000000];
int v[1025];
int main()
{
FILE *fin=fopen ("oite.in","r");
FILE *fout=fopen ("oite.out","w");
int i,j,k,n,s,sum,sol=0;
fscanf (fin,"%d%d",&n,&s);
for (i=1;i<=n;i++)
fscanf (fin,"%d",&v[i]);
l[(v[1]+v[2])%MOD].push_back (v[1]+v[2]);
for (i=3;i<n;i++){
for (j=i+1;j<=n;j++){
sum=(s-v[i]-v[j])%MOD;
if (sum<0)
continue;
for (k=0;k<l[sum].size();k++)
if (l[sum][k]==sum)
sol++;
}
for (j=i-1;j>0;j--){
sum=(v[i]+v[j])%MOD;
l[sum].push_back(sum);
}
}
fprintf (fout,"%d",sol);
return 0;
}