Pagini recente » Cod sursa (job #1319737) | Cod sursa (job #390279) | Cod sursa (job #2592030) | Cod sursa (job #893170) | Cod sursa (job #53225)
Cod sursa(job #53225)
#include <stdio.h>
#define FOR(i, a, b) for (i = (a); i <= (b); i++)
#define MaxN 200033
int A[MaxN], N;
int sum, smin, s, sp, ep, lsol, spsol;
int main()
{
int i, val, sgn;
FILE *fin = fopen("buline.in", "rt");
FILE *fout = fopen("buline.out", "wt");
fscanf(fin, "%d", &N);
FOR (i, 1, N)
{
fscanf(fin, "%d %d", &val, &sgn);
if (!sgn) val *= -1;
A[i] = val;
sum += A[i];
}
smin = 100333, s = 0;
FOR(i, 1, N)
{
s += A[i];
if (s < smin)
{
smin = s;
ep = i;
spsol = sp;
}
if (s > 0)
{
s = 0;
sp = i + 1;
}
}
sp = spsol;
if (ep == N) spsol = 1;
else spsol = ep + 1;
lsol = (N - spsol + 1) + (sp - 1);
fprintf(fout, "%d %d %d", sum - smin, spsol, lsol);
fclose(fin);
fclose(fout);
return 0;
}