Pagini recente » ONIS 2015, Solutii Runda 1 | Cod sursa (job #875918) | Cod sursa (job #54119) | Cod sursa (job #3222264) | Cod sursa (job #1283979)
#include <fstream>
using namespace std;
struct poz{
int inceput, sfarsit, suma;
};
int main(){
poz max, trecut, curent;
ifstream in("ssm.in");
ofstream out("ssm.out");
int n;
in >> n >> trecut.suma;
max.suma = trecut.suma;
max.inceput = trecut.inceput = 1;
max.sfarsit = trecut.sfarsit = 1;//max = [1,1],
for (int i = 1; i < n; i++){
in >> curent.suma;
if (trecut.suma > 0){
trecut.suma+= curent.suma;
trecut.sfarsit++;
}
else{
trecut.suma = curent.suma;
trecut.inceput = ++trecut.sfarsit;
}
if (max.suma < trecut.suma){
max.suma = trecut.suma;
max.inceput = trecut.inceput;
max.sfarsit = trecut.sfarsit;
}
}
out << max.suma << " " << max.inceput << " " << max.sfarsit;
in.close();
out.close();
return 0;
}