Pagini recente » Cod sursa (job #906836) | Cod sursa (job #458482) | Cod sursa (job #96613) | Cod sursa (job #1038806) | Cod sursa (job #1984877)
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
ifstream f("buline.in");
ofstream g("buline.out");
int n,v[200005],bestlen,bestpos,bestsum,semn,nr,i,a,i1,s;
bool ok=true;
int main()
{
f>>n;
for(i=1;i<=n;++i)
{
f>>nr>>semn;
if(semn==0) nr=-nr;
v[i]=nr;
}
i=1;
while(true)
{
if(i>n) i%=n, ok=false;
if(i==i1) break;
a=v[i];
if(s<=0)
{
s=a;
i1=i;
if(!ok) break;
}
else s+=a;
if(s>bestsum)
{
bestsum=s;
bestpos=i1;
bestlen=i-i1+1;
if(bestlen<0) bestlen+=n;
}
++i;
}
g<<bestsum<<' '<<bestpos<<' '<<bestlen;
return 0;
}