Pagini recente » Cod sursa (job #2788420) | Cod sursa (job #3264691)
use std::fs;
fn main () {
let file = fs::read_to_string("ssm.in").expect("err");
let mut lines = file.lines();
lines.next().expect("err badfile");
let vector: Vec<i32> = lines.next().expect("no content").split_whitespace().map(|s| s.parse().expect("not a number")).collect();
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;
for (index, element) in vector.iter().enumerate() {
if sum < 0 {
sum = *element;
start = index as i32;
} else {
sum += *element;
}
if max < sum {
max = sum;
maxstart = start;
end = index as i32;
}
}
let write = format!("{} {} {}", max, maxstart+1, end+1);
fs::write("ssm.out", write).expect("err writing");
}