Pagini recente » Cod sursa (job #2300568) | Cod sursa (job #2023020) | Cod sursa (job #2057753) | Cod sursa (job #413815) | Cod sursa (job #2884448)
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *in, *out;
in = fopen("ssm.in", "r");
out = fopen("ssm.out", "w");
int n,i,v[1001],sc[1001],st[1001],dr[1001];
fscanf(in, "%d", &n);
for(i = 1; i <= n; i++)
{
fscanf(in, "%d", &v[i]);
}
sc[1] = v[1];
for(i = 2; i <= n; i++)
{
if(sc[i-1] < 0)
{
sc[i] = v[i];
st[i] = i;
dr[i] = i;
}
else
{
sc[i] = sc[i-1]+v[i];
st[i] = st[i-1];
dr[i] = i;
}
}
int max = sc[1],stmax = 0,drmax = 0;
for(i = 1; i <= n; i++)
{
if(max < sc[i])
{
max = sc[i];
stmax = st[i];
drmax = dr[i];
}
else if(max == sc[i])
{
if(stmax > st[i])
{
stmax = st[i];
drmax = dr[i];
}
else if(stmax == st[i])
{
drmax = dr[i];
}
}
}
fprintf(out, "%d %d %d", max, stmax, drmax);
fclose(in);
fclose(out);
return 0;
}