Pagini recente » Cod sursa (job #847707) | Cod sursa (job #627526) | Rating Andrei Ignat (Andrei_Ignat) | Cod sursa (job #791657) | Cod sursa (job #643329)
Cod sursa(job #643329)
#include<cstdio>
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'))
if (++poz == 8192) {fread(buff, 1, 8192, stdin); poz = 0;}
if (buff[poz] == '-') neg = true, poz++;
while (buff[poz] >= '0' && buff[poz] <= '9'){
nr = nr * 10 + (buff[poz] - '0');
if (++poz == 8192) {fread(buff, 1, 8192, stdin); poz = 0;}
}
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;
}