Pagini recente » Cod sursa (job #1269864) | Cod sursa (job #3037469) | Cod sursa (job #109825) | Cod sursa (job #1953417) | Cod sursa (job #274051)
Cod sursa(job #274051)
#include <fstream>
#include <iostream>
using namespace std;
int n;
int s[6000001];
#define FOR(i,b,c) for (int i = (b); i<(c); i++)
#define abs(a) (a<0)?-a:a
void mainLoop(){
ifstream fin("ssm.in");
ofstream fout("ssm.out");
fin >> n;
FOR(i,0,n)
fin >> s[i];
int min = 0, sum= 0, rez = s[0], minS = (1<<30), a=0, b=0;
FOR(i,0,n){
if (sum + s[i] < minS){
min = i;
minS = sum;
}
sum += s[i];
if (sum - minS > rez || (sum - minS == rez && abs(i-min) > abs(a-b)) ){
rez = sum - minS;
a = min;
b = i;
}
}
fout << rez << " " << a+1 << " " << b+1;
fout.close(), fin.close();
}
int main() {
mainLoop();
return 0;
}