Cod sursa(job #1004212)

Utilizator IancuDanielIancu Daniel Constantin IancuDaniel Data 2 octombrie 2013 12:02:02
Problema Subsecventa de suma maxima Scor 15
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <cstdio>
using namespace std;
int N, s, s2, a, b, r, r2, l, l2;

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