Pagini recente » Cod sursa (job #2507387) | Cod sursa (job #2125159) | Cod sursa (job #1659255) | Cod sursa (job #2451102) | Cod sursa (job #26010)
Cod sursa(job #26010)
#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;
}
}
//pozitia pe care se termina este poz
poz=poz-lg+1;
ofstream g("buline.out");
if (poz>n) g<<smax<<" "<<poz-n<<" "<<lg;
else g<<smax<<" "<<poz<<" "<<lg;
g<<"\n";
g.close();
return 0;
}