Cod sursa(job #754792)

Utilizator XladhenianGrigorita Vlad-Stefan Xladhenian Data 3 iunie 2012 14:25:59
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
                                                     
#include <fstream>
using namespace std;

int main(void)
{
 fstream fin("ssm.in",ios::in);
 fstream fout("ssm.out",ios::out);
 long N,a,sumstart,totalsum,bestsum,beststart,bestend,i;
 fin >> N;
 sumstart = 0;
 totalsum = 0;
 bestsum = -1;
 beststart = -1;
 bestend = -1; 
 for (i = 0;i < N;i += 1)
  {
   fin >> a;
   totalsum += a;
   if (totalsum < 0)
     {
      totalsum = 0;
      sumstart = i + 1;
     }
   if (totalsum > bestsum)
     {
      bestsum = totalsum;
      beststart = sumstart;
      bestend = i;
     }
  }
 fout << bestsum << " " << (beststart + 1) << " " << (bestend + 1) << "\n";
 fin.close();
 fout.close();
 return 0;
}