Pagini recente » Cod sursa (job #914355) | Cod sursa (job #2421844) | Cod sursa (job #1180954) | Cod sursa (job #3224385) | Cod sursa (job #3289839)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("buline.in");
ofstream fout("buline.out");
int a[400005], n;
int main()
{
fin>>n;
for(int i = 1; i <= n; ++i)
{
bool c;
fin>>a[i]>>c;
if(c==1)a[n+i]=a[i];
else a[i]=-1*a[i], a[n+i]=a[i];
}
for(int i = 1; i <= n*2; ++i)cout<<a[i]<<" ";
int i=1;
int st=1;
int s=0;
int ma=INT_MIN, stma, lgma;
for(; i <= n; )
{
bool vf=0;
st=i;
while(vf==0)
{
int lg=i-st+1;
if(lg>n)
{
i++;
vf=1;
}
else
{
s+=a[i];
if(s>ma)
{
ma=s;
stma=st;
lgma=lg;
}
if(s<0)vf=1, s=0;
i++;
}
}
}
fout<<ma<<" "<<stma<<" "<<lgma;
return 0;
}