Cod sursa(job #290154)

Utilizator jeanFMI - Petcu Ion Cristian jean Data 27 martie 2009 16:17:40
Problema Divk Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include<fstream>
using namespace std;
int x,i,n,k,a,b,val,dif,sol,r;
struct nod {int inf; nod *adr;};
nod *v[100010],*p;
int main()
{
ifstream f("divk.in");
ofstream g("divk.out");
f>>n>>k>>a>>b;

for(i=1;i<=n;i++)

 { f>>x;
   r=(r+x)%k;

   if(!r && i>=a && i<=b) sol++;

   p=new nod;
   p->inf=i;
   p->adr=v[r];
   v[r]=p;

   val=v[r]->inf;

     for(p=v[r]->adr;p;p=p->adr)

      { dif=val-(p->inf);

         if(dif>=a && dif<=b) sol++;

          else if(dif>b)  break;
      }
 }
g<<sol;
f.close();
g.close();
return 0;
}