Cod sursa(job #29138)

Utilizator razvi9Jurca Razvan razvi9 Data 8 martie 2007 18:11:23
Problema Secventa 2 Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include<fstream.h>
unsigned int n,ki;
typedef struct nod
 {int x;unsigned int i,s;long sum;nod *urm;};
nod *p;
void citire()
{ifstream f("secv2.in");
 f>>n>>ki;
 p=new nod;
 f>>p->x;p->i=1;
 nod *u,*t;
 u=p;
 for(unsigned int i=2;i<=n;i++)
 {t=new nod;
  f>>t->x;
  t->i=i;
  u->urm=t;
  u=t;}
 u->urm=NULL;
 f.close();}
void solve()
{nod *j,*k,*m;
 m=NULL;
 unsigned int i;
 long s;
 for(i=1,j=p;i<=(n-ki);i++,j=j->urm)
 {k=j;
  j->sum=0;
  for(;k->i<=i+ki-1;k=k->urm)
   j->sum=j->sum+k->x;
  j->s=i+ki-1;
  s=j->sum;
  for(;k;k=k->urm)
  {s=s+k->x;
   if(s>j->sum){j->sum=s;j->s=k->i;}}
  if(!m||j->sum>m->sum) m=j;}
 ofstream g("secv2.out");
 g<<m->i<<" "<<m->s<<" "<<m->sum;
 g.close();
}
void main()
{citire();
solve();}