Pagini recente » Cod sursa (job #685061) | Cod sursa (job #2970540) | Istoria paginii runda/simulare_oni1234 | Cod sursa (job #770570) | Cod sursa (job #2189464)
#include <fstream>
#include <vector>
using namespace std;
ifstream in("ssm.in");
ofstream out("ssm.out");
vector<int> list;
int size, maxsum, st, dr;
int main() {
in>>size;
list.resize(size);
in>>list[0];
for(int x = 1; x<size; x++) {
in>>list[x];
}
for(int x = 0, y = 0, sum = 0; y<size; y++) {
if(sum<0){
x = y;
sum = list[y];
}else
sum+=list[y];
if((sum>maxsum)||((sum==maxsum)&&((x<st)||((x==st)&&((y-x)>(dr-st)))))) {
maxsum = sum;
st = x;
dr = y;
}
}
out<<maxsum<<' '<<st + 1<<' '<<dr + 1;
}