Pagini recente » Cod sursa (job #62714) | Cod sursa (job #1585020) | Cod sursa (job #1031695) | Cod sursa (job #2490589) | Cod sursa (job #86858)
Cod sursa(job #86858)
#include <stdio.h>
int N, V[200200];
int main()
{
int i, s, smax, p, l, num, n;
freopen("buline.in", "r", stdin);
scanf("%d",&N);
for (i = 0; i < N; i++){scanf("%d%d", V+i, &s);
if(!s) V[i] = -V[i];}
for (i = 0; i < N; i++) V[i+N] = V[i];
for (i = s = smax = p = l = num = 0, n = N, N *= 2; i < N; i++)
{
if (n==num) break;
if (s+V[i]<0) s = num = 0;
else s += V[i], num++;
if (s>smax) smax = s, p = i-num+1, l = num;
else if ((smax==s)&&(p==i)&&(l<num)) l = num;
}
freopen("buline.out", "w", stdout);
printf("%d %d %d\n", smax, p+1, l);
return 0;
}