Cod sursa(job #2475161)

Utilizator teodortatomirTeodor Tatomir teodortatomir Data 16 octombrie 2019 12:56:06
Problema Secventa 2 Scor 100
Compilator c-64 Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <stdio.h>
#include <stdlib.h>

int v[50000];
int s[50000];
int main() {
  FILE *fin,*fout;
  int n,k,i,s1,s2,j1,j2,max,j3,j4;

  fin=fopen("secv2.in", "r");
  fout=fopen("secv2.out", "w");
  fscanf(fin, "%d%d", &n,&k);
  for(i=0;i<n;i++)
    fscanf(fin, "%d", &v[i]);
  s2=0;
  s1=0;
  for(i=0;i<k;i++){
    s[i]=v[i];
    s1+=v[i];
  }
  j1=0;
  j2=k;
  max=-2000000000;
  for(;i<n;i++){
    if(s1>max){
      max=s1;
      j3=j1;
      j4=j2;
    }
    s[i]=v[i];
    s1+=v[i];
    s2+=v[j2-k];
    j2++;
    if(s2<0){
      s1+=-1*s2;
      j1=j2-k;
      s2=0;
    }
  }
  if(s1>max){
    max=s1;
    j3=j1;
    j4=j2;
  }
  fprintf(fout, "%d %d %d", j3+1,j4,max);
  fclose(fin);
  fclose(fout);
  return 0;
}