Cod sursa(job #2742238)
Utilizator | Data | 20 aprilie 2021 16:16:54 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
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;
s = x;
} else {
s += x;
p2 = i;
}
if(s > smax) {
p1max = p1;
p2max = p2;
smax = s;
}
}
o<<smax<<" "<<p1max + 1<<" "<<p2max + 1;
}