Pagini recente » Cod sursa (job #1116423) | Cod sursa (job #1012729) | Cod sursa (job #3198924) | Cod sursa (job #243422) | Cod sursa (job #572539)
Cod sursa(job #572539)
#include <stdio.h>
using namespace std;
int a[400100];
int b;
int max=-12000;
int lungime;
int start;
int startfinal;
int n;
void citire()
{
scanf("%d",&n);
for(int i=0,j=n;i<n;++i,++j)
{
scanf("%d",&a[i]);
int x;
scanf("%d",&x);
if(!x)
a[i]*=-1;
a[j]=a[i];
}
}
void rez()
{
int m=n;
n=n<<1;
for(int i=0;i<n;++i)
{
if(b+a[i]>=a[i])
b+=a[i];
else
{
b=a[i];
start=i;
}
if(max<b)
{
if(i-start>=m)
break;
max=b;
lungime=i-start+1;
startfinal=start;
}
}
printf("%d %d %d",max,startfinal+1,lungime);
}
int main()
{
freopen("buline.in","r",stdin);
freopen("buline.out","w",stdout);
citire();
rez();
return 0;
}