Cod sursa(job #36496)

Utilizator razvi9Jurca Razvan razvi9 Data 23 martie 2007 17:05:59
Problema Oite Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include<stdio.h>
int n,a[1025],i,j,k,l;
long long m,x,nr;
int MAX(int x,int y)
{return x>y?x:y;}
int main()
{freopen("oite.in","r",stdin);
 freopen("oite.out","w",stdout);
 scanf("%d %lld",&n,&m);
 if(m>200000000) return 0;
 for(i=1;i<=n;i++)
  scanf("%d",&a[i]);
 for(i=1;i<=n-3;i++)
 {x=(long long)a[i];
  for(j=i+1;j<=n-2&&x<=m;j++)
  {x=x+(long long)a[j];
   for(k=j+1;k<=n-1&&x<=m;k++)
   {x=x+(long long)a[k];
    for(l=k+1;l<=n&&x<=m;l++)
	 if(x+(long long)a[l]==m) nr++;
    x=x-(long long)a[k];}
   x=x-(long long)a[j];}}
 printf("%lld",nr);
 fclose(stdout);
 return 0;}