Cod sursa(job #847751)

Utilizator razvan.popaPopa Razvan razvan.popa Data 4 ianuarie 2013 14:11:07
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.02 kb
#include<iostream>
#include<fstream>
#include<vector>
#include<bitset>
#include<queue>
#include<stack>
#include<iomanip>
#include<string>
#include<algorithm>
#define infile "ssm.in"
#define outfile "ssm.out"
#define nMax
#define INF (1 << 30)
#define pb push_back
#define mkp make_pair
#define pii pair<int, int>
#define ll long long
#define nxt (*it)
#define FOR(g)\
   for(vector<int>::iterator it=g.begin(); it!=g.end(); ++it)
using namespace std;


int N, Sol = -INF, ii, jj;


void read(){
    ifstream f(infile);

    f >> N;

    int idx = 1, x, s = 0;

    for(int i=1; i<=N; ++i){
        f >> x;

        if(s >= 0)
            s += x;
        else{
            s = x;
            idx = i;
        }

        if(s > Sol){
            Sol = s;
            ii = idx;
            jj = i;
        }
    }

    f.close();
}


void solve(){

}

void print(){
    ofstream g(outfile);

    g << Sol << " " << ii << " " << jj << '\n';

    g.close();
}

int main(){
  read();
  solve();
  print();

  return 0;
}