Cod sursa(job #850278)

Utilizator danutbodbodnariuc danut danutbod Data 8 ianuarie 2013 11:33:35
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>
#define NMax 60003
using namespace std;
ifstream f("secv2.in");
ofstream g("secv2.out");
int i,j,n,m,k,maxi,s,pi,pf,a[NMax],vmax[NMax],pmax[NMax],sum[NMax];
int main()
{
    f>>n>>k;
    for( i=1; i<=n; i++)f>>a[i];
    for (i=1; i<=n; i++)sum[i]=sum[i-1]+a[i];
    maxi=-2000000000;
    for (i=n; i>=1; i--){
      if(maxi<=sum[i]){ maxi=sum[i]; vmax[i]=maxi; pmax[i]=i; }
         else {vmax[i]=maxi;pmax[i]=pmax[i+1];}
    }
    maxi=-200000000;
    for (i=1; i<=n-k+1; i++)
      if(vmax[i+k-1]-sum[i-1]>maxi)
        {maxi=vmax[i+k-1]-sum[i-1];pi=i;pf=pmax[i+k-1];}
    g<<pi<<" "<<pf<<" "<<maxi<<'\n';
    return 0;
}