Cod sursa(job #861482)

Utilizator superman_01Avramescu Cristian superman_01 Data 21 ianuarie 2013 16:59:55
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.16 kb
#include<fstream>
 
using namespace std;
 
ifstream f("secv2.in");
ofstream g("secv2.out");
 
int n,k,v[50005],p1,p2,s[50005],c,i,j,smax=-2000000,spoz,q,smin=20000000;
 
 
int main()
{
    f>>n>>k;
 
    for(i=1;i<=n;i++)
    {
        f>>v[i];
        s[i]=s[i-1]+v[i];
        if(s[i]>smax)
            {
                smax=s[i];
                p2=i;
        }
    }
     
        if(n==k)
    {
        smax=0;
        g<<1<<" "<<n<<" ";
        for(i=1;i<=n;i++)
            smax=smax+v[i];
         
        g<<smax;
        f.close();
        g.close();
        return 0;
         
         
    }
          
        for(i=p2;i>=0;i--)
        if((s[i]<smin)&&(p2-i>=k-1))
        {   smin=s[i];
        p1=i;
             
        }
if(p2-p1==k)
        {g<<p1<<" "<<p2<<" ";
     
        smax=0;
 
        for(i=p1;i<=p2;i++)
    smax=smax+v[i];
            g<<smax;
    f.close();
    g.close();
    return 0;
        }
    else
    {g<<p1+1<<" "<<p2<<" ";
     
        smax=0;
 
        for(i=p1+1;i<=p2;i++)
    smax=smax+v[i];
            g<<smax;
    f.close();
    g.close();
    return 0;
    }
}