Cod sursa(job #1516265)

Utilizator Andrei_21Beleca Andrei Andrei_21 Data 2 noiembrie 2015 21:40:49
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include<fstream>
using namespace std;
 const int nmax=50005;
 int a[nmax],s[nmax],mn[nmax];
 ifstream f("secv2.in");
 ofstream g("secv2.out");
 int main()
 {
  int n,k;
  f>>n>>k;
  for(int i=1;i<=n;i++)
        f>>a[i];
  for( int i=1;i<=n;i++)
    s[i]=s[i-1]+a[i];
    for(int i=1;i<=n;i++)
        if(s[i]<s[mn[i-1]])
        mn[i]=i;
    else
        mn[i]=mn[i-1];
    int max1=-999999,dr,st;
    for(int i=k;i<=n;i++)
        if(s[i]-s[mn[i-k]]>max1)
    {
     max1=s[i]-s[mn[i-k]];
     dr=i;
     st=mn[i-k]+1;
    }
    g<<st<<" "<<dr<<" "<<max1;
    return 0;

 }