Pagini recente » Cod sursa (job #63636) | Cod sursa (job #322009) | Cod sursa (job #1890728) | Cod sursa (job #580027) | Cod sursa (job #2551695)
#include <bits/stdc++.h>
using namespace std;
/*
ifstream fin("gradina.in");
ofstream fout("gradina.out");
int v[1005][1005];
int s[1005][1005];
int n, x, y, p, k;
int nr = 0, suma, m = INT_MIN;
void citire(){
fin >> n;
fin >> p >> k;
for(int i = 1; i <= p; i++){
fin >> x >> y;
v[x][y] = 1;
}
for(int i = 1; i <= n; i++){
for(int j = 1; j <= n; j++){
s[i][j] = v[i][j] + s[i-1][j] + s[i][j-1] - s[i-1][j-1];
}
}
}
int main()
{
citire();
for(int i = k; i <= n; i++){
for(int j = k; j <= n; j++){
suma = s[i][j] - s[i-k][j] - s[i][j-k] + s[i-k][j-k];
if(suma > m){
m = suma;
nr = 1;
}
else if(suma == m){
nr++;
}
}
}
fout << m << '\n' << nr;
}
*/
ifstream fin("ssm.in");
ofstream fout("ssm.out");
//int v[6000001];
long long s[6000001];
long long suma, mx = LLONG_MIN;
int x, y, n, l = 0;
void citire(){
fin >> n;
for(int i = 1; i <= n; i++){
fin >> s[i];
s[i] += s[i-1];
}
}
int main(){
citire();
for(int i = 1; i <= n; i++){
for(int j = i; j <= n; j++){
suma = s[j] - s[i-1];
if(suma > mx){
mx = suma;
x = i;
y = j;
l = j - i - 1;
}
else if(suma == mx && j - i - 1 < l){
x = i;
y = j;
l = j - i - 1;
}
}
}
fout << mx << ' ' << x << ' ' << y;
}