Cod sursa(job #2037512)

Utilizator CodCatalinCodreanu Catalin CodCatalin Data 12 octombrie 2017 12:49:13
Problema Secventa 2 Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>
using namespace std;

ifstream f("secv2.in");
ofstream g("secv2.out");
int n,k,s[50005],m[50005],su,p1,p2,Max=-100000;
int main()
{
    f>>n>>k;
    for(int i=1;i<=n;++i)f>>s[i],s[i]+=s[i-1];
    m[n]=n;
    for(int i=n-1;i>=1;--i)
    {
        if(s[m[i+1]]>s[i+1])m[i]=m[i+1];
        else m[i]=i+1;
    }
//    for(int i=1;i<=n;++i)g<<m[i]<<'\n';
    for(int i=1;i<=n-k+1;++i)
    {
        su=s[m[k+i-1]]-s[i-1];
//        g<<s[m[k+i-1]]<<" "<<s[i-1]<<" "<<su<<endl;
        if(su>Max)
        {
            Max=su;
            p1=i;p2=m[k+i-1];
        }
    }
    g<<p1<<" "<<p2<<" "<<Max;
    return 0;
}