Pagini recente » Cod sursa (job #1282366) | Cod sursa (job #551288) | Cod sursa (job #1701375) | Cod sursa (job #7882) | Cod sursa (job #643336)
Cod sursa(job #643336)
#include<cstdio>
#define Check() if (++poz == 8192) {fread(buff, 1, 8192, stdin); poz = 0;}
using namespace std;
char buff[8192];
int poz;
void Read(int &nr){
nr = 0;
bool neg = false;
while (buff[poz] != '-' && (buff[poz] < '0' || buff[poz] > '9'))
Check();
if (buff[poz] == '-') {
neg = true;
Check();
}
while (buff[poz] >= '0' && buff[poz] <= '9'){
nr = nr * 10 + (buff[poz] - '0');
Check();
}
if (neg) nr *= -1;
}
int main(){
int n, i, nr, nrPrec, sum, min, max, ind, inds, indi;
freopen ("ssm.in", "r", stdin), freopen("ssm.out", "w", stdout);
Read(n); Read(nr);
for (i = 1, min = 1<<30, max = -min; i < n; i++){
nrPrec = nr;
Read(nr);
nr += nrPrec;
if (min > nrPrec) min = nrPrec, ind = i+1;
sum = nr - min;
if (max < sum) max = sum, inds = i+1, indi = ind;
}
printf("%d %d %d\n", max, indi, inds);
return 0;
}