Pagini recente » Cod sursa (job #2272820) | Cod sursa (job #32974) | Cod sursa (job #1568919) | Cod sursa (job #1190569) | Cod sursa (job #1207014)
#include<stdio.h>
#include<limits.h>
int N,
current_nr, current_value, current_first, current_final,
max_value = INT_MIN, max_first, max_final;
FILE *in, *out;
void open()
{
in = fopen("ssm.in", "rt");
out = fopen("ssm.out", "wt");
}
void process()
{
fscanf(in, "%d", &N);
for (int i = 1; i <= N; i++)
{
fscanf(in, "%d", ¤t_nr);
if (current_nr > current_value + current_nr)
{
current_value = current_nr;
current_first = i;
current_final = i;
}
else
{
current_value += current_nr;
current_final = i;
}
if (current_value > max_value)
{
max_value = current_value;
max_first = current_first;
max_final = current_final;
}
}
}
void write()
{
fprintf(out, "%d %d %d", max_value, max_first, max_final);
}
int main()
{
open();
process();
write();
return 0;
}