Pagini recente » Cod sursa (job #3151389) | Cod sursa (job #563066) | Cod sursa (job #1860643) | Cod sursa (job #855360) | Cod sursa (job #24925)
Cod sursa(job #24925)
using namespace std;
#include <cstdio>
#include <cstring>
#define MAX_N 200010
#define INFTY 0x3f3f3f3f
#define FIN "buline.in"
#define FOUT "buline.out"
int N, S, P, L;
int v[MAX_N<<1];
int main()
{
int i, l, r, t, jeg;
freopen(FIN, "r", stdin);
freopen(FOUT, "w", stdout);
scanf("%d", &N);
for (i = 0; i < N; ++i) {
scanf("%d %d", v+i, &jeg);
v[i] *= (jeg ? +1 : -1);
}
memcpy(v+N, v, N*sizeof(int));
S = -INFTY, P = L = INFTY;
for (t = v[ l = r = 2*N-1 ]; l >= 0; t += v[--l]) {
for (; l < r && ((r-l == N) || v[r] < 0); t -= v[r--]);
if (t >= S)
S = t, P = l+1, L = r-l+1;
}
printf("%d %d %d\n", S, P, L);
return 0;
}