Cod sursa(job #2742236)

Utilizator vzzev edmond vzze Data 20 aprilie 2021 16:14:28
Problema Subsecventa de suma maxima Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.62 kb
#include <fstream>
#include <vector>
#include <string>
 
#define ll long long
 
std::ifstream f("ssm.in");
std::ofstream o("ssm.out");
 
int main() {
    ll smax = 0, p1max = 0, p2max = 0;
    ll s = 0, p1 = 0, p2 = 0;
 
    ll i = 0;
    ll n;
 
    f>>n;
 
    ll x;
    
    f>>x;
 
    s = x;
    smax = x;
 
    while(f>>x) {
        i++;
        if(s < 0) {
            p1 = p2 = i + 1;
            s = x;
        } else {
            s += x;
            p2 = i;
        }
        if(s > smax) {
            p1max = p1;
            p2max = p2;
            smax = s;
        }
    }
 
    o<<smax<<" "<<p1max + 1<<" "<<p2max + 1;
}