Cod sursa(job #1785539)

Utilizator andreip0paAndrei Popa andreip0pa Data 21 octombrie 2016 15:26:18
Problema Secventa 2 Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.16 kb
#include <iostream>
#include <fstream>

using namespace std;
ifstream f("secv2.in");
ofstream g("secv2.out");
int sumeconsec(int k, int n, int s[]){
    int st=1,dr=k;
    int Rsum=0, sumC=0;
    for (int i=st;i<=dr;i++){

        sumC+=s[i];
        if (sumC>Rsum && i==dr){
            Rsum=sumC;
        }
        if (i==dr && dr==n){
            st++;
            dr++;
            i=st;
            sumC=0;
        }

    }

    return Rsum;


}

int sumesubsir(int k, int n, int s[], int &pozi,int &pozf){
int sumC=0, sumR=0, st=1,dr=k,sumMax=0;
pozi=0, pozf=0;
int kv=k;
for (int i=st;i<=dr;i++){
    sumC+=s[i];

     if (sumC>sumR && i==dr){

      sumR=sumC;

       pozi=st-kv+1;
       pozf=dr;
     }
     if (dr==n && k<=n){
        sumMax=sumR;

     st=1;
     kv++;
     dr=kv;

     }
     if (i==dr && dr!=n){
        st++;
        dr++;
        i=st;
     }

}
g<<pozi<<" "<<pozf<<" ";
return sumMax;

}
int main()
{
    int s[50000]={},n,k;
     f>>n;
     f>>k;

    for (int i=1;i<=n;i++){
        f>>s[i];
    }
    int pozi=0,pozf=0;
   g<<sumesubsir(k,n,s,pozi,pozf);

  return 0;
}