Pagini recente » Cod sursa (job #864704) | Cod sursa (job #619601) | Cod sursa (job #1435073) | Cod sursa (job #603855) | Cod sursa (job #25956)
Cod sursa(job #25956)
#include<fstream.h>
int main()
{
long smax,st,n,lg,sum,poz,i,j,x,a[200000];
ifstream f("buline.in");
f>>n;
for (i=1;i<=n;i++)
{
f>>a[i]>>x;
if (x==0) a[i]=-a[i];
}
f.close();
smax=sum=0;
st=poz=0;
lg=1;
for (i=1;i<2*n;i++)
{
if(i>n) j=i-n;
else j=i;
if (sum<0)
{
sum=a[j];
st=j;
lg=1;
}
else
sum+=a[j];
if ( smax<sum)
{
smax=sum;
lg=i-st+1;
poz=i;
}
}
poz--;
while (a[poz]>=0)
poz--;
poz++;
ofstream g("buline.out");
if (poz>n) g<<smax<<" "<<poz-n<<" "<<lg;
else g<<smax<<" "<<poz<<" "<<lg;
g<<"\n";
g.close();
return 0;
}