Pagini recente » Istoria paginii ccex2009/10 | Istoria paginii utilizator/rares96cheseli | Istoria paginii utilizator/cristiemanuel | Heapuri | Cod sursa (job #3264695)
use std::fs::File;
use std::io::{BufRead, BufReader, Write};
fn main () {
let file = File::open("ssm.in").expect("err");
let reader = BufReader::new(file);
let mut lines = reader.lines();
lines.next();
let mut max: i32 = -2000000000;
let mut start: i32 = 0; let mut end: i32 = 0; let mut maxstart: i32 = 0; let mut sum: i32 = 0;
let mut index = 1;
let line = lines.next().expect("empty");
for element in line.expect("err").split_whitespace() {
let element: i32 = element.parse().expect("not a number");
if sum < 0 {
sum = element;
start = index as i32;
} else {
sum += element;
}
if max < sum {
max = sum;
maxstart = start;
end = index as i32;
}
index += 1;
}
let mut write = File::create("ssm.out").expect("err opening");
writeln!(write, "{} {} {}", max, maxstart, end).expect("err writing");
}