Cod sursa(job #602859)

Utilizator ion824Ion Ureche ion824 Data 13 iulie 2011 15:01:36
Problema Secventa 2 Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 1 kb
#include <fstream>
#include <stdio.h>
using namespace std;

int a[50001],b[50001],c[50001],n,k;
char buf1[50001];

int main(void){
    int i,max,pozmax,lmax;

    ifstream fin("secv2.in");
    ofstream fout("secv2.out"); 
    fin.rdbuf()->pubsetbuf(buf1,sizeof(buf1));
          
    fin>>n>>k;
    for(i=1;i<=n;++i)fin>>a[i]; fin.close();
    b[n]=a[n]; c[n]=1;
    for(i=n-1;i>=1;--i)
       if(a[i]+b[i+1]>=a[i])
                 {
                   b[i]=a[i]+b[i+1];
                   c[i]=c[i+1]+1;        
                 }
              else
                {
                 b[i]=a[i];
                 c[i]=1;   
                 }                                                  
        
    max=-25001; pozmax=0; lmax=k;
    for(i=n;i>=1;--i)
       if(b[i]>max)
          if(c[i]>=lmax)
            {
              max=b[i]; pozmax=i; lmax=c[i];         
            }
   fout<<pozmax<<" "<<pozmax+lmax-1<<" "<<max;              
   fout.close(); 
 return 0;   
}