Cod sursa(job #207168)

Utilizator alex23alexandru andronache alex23 Data 11 septembrie 2008 23:29:11
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.02 kb
#include <stdio.h>
#define NMAX 50100


int a[NMAX], b[NMAX], lung[NMAX];
int i, j;
int n, k;
int max1, poz1, max2, poz2;



int main()
 {
   FILE *f;
   
   f = fopen("secv2.in" , "r");
   fscanf(f , "%d %d" , &n , &k);
   for (i = 1; i <= n; i++)
      fscanf(f , "%d" , &a[i]);
   fclose(f);
   
   
   for (i = 1; i <= k; i++)
      b[k]+=a[i];
   max1 = b[k];
   poz1 = k;    
   for (i = k + 1; i <= n; i++)
      {b[i] = b[i - 1] + a[i];
       if (max1 < b[i]) {max1 = b[i];
                         poz1 = i;
                         }
       }
   b[poz1] = a[poz1];
   for (i = poz1 - 1; i >=1; i--)
      b[i] = b[i + 1] + a[i];

   max2 = b[1];
   poz2 = 1;
   for (i = 2; i <= poz1 - k; i++)
      if (max2 < b[i]) {max2= b[i];
                        poz2 = i;
                        }


   f = fopen("secv2.out" , "w");
   fprintf(f , "%d %d %d" , poz2 , poz1 , max2);
   fclose(f);
                                                                    
   
       
   return 0;
 }