Cod sursa(job #1004583)

Utilizator IancuDanielIancu Daniel Constantin IancuDaniel Data 3 octombrie 2013 09:44:25
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <cstdio>
using namespace std;
int N, s, s2, x, r, r2, l, l2;

int main() {
   FILE *in = fopen("ssm.in", "r"), *out = fopen("ssm.out", "w");
   fscanf(in, "%d", &N);
   for (int i = 1; i <= N; i++) {
      fscanf(in, "%d", &x);
      if (s + x < 0) {
         s = 0;
         l = i;
      }
      else
         if (s + x < s && s > s2) {
            s2 = s;
            l2 = l;
            r2 = r;
         }
         s += x;
         r++;
   }
   if (s < s2) {
      s = s2;
      l = l2;
      r = r2;
   }
   printf("%d %d %d", s, l, r);
}