Pagini recente » Cod sursa (job #705959) | Cod sursa (job #200269) | Cod sursa (job #1044110) | Cod sursa (job #868359) | Cod sursa (job #393313)
Cod sursa(job #393313)
#include<fstream>
using namespace std;
int v[400005];
int n,nr;
int main()
{
ifstream fin("buline.in");
fin>>n;
int i;
for(i=1;i<=n;i++)
{
int a,b;
fin>>a>>b;
if(b==0)
v[++nr]=-a;
else
v[++nr]=a;
}
for(i=1;i<n;i++)
v[++nr]=v[i];
int sum,summax=-1000000,index,istart,istop;
sum=v[1];
istart=1;
istop=1;
index=1;
for(i=2;i<=nr;i++)
{
if(sum<0)
sum=v[i],index=i;
else
sum+=v[i];
if(sum>summax)
if(i-index<n)
summax=sum,istart=index,istop=i;
}
ofstream fout("buline.out");
fout<<summax<<" "<<istart<<" "<<istop-istart+1;
return 0;
}