Pagini recente » Cod sursa (job #1819578) | Cod sursa (job #390575) | Cod sursa (job #378999) | Borderou de evaluare (job #2056578) | Cod sursa (job #3165378)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("ssm.in");
ofstream fout("ssm.out");
int n,i,V[400001],maxim,s,st,dr,S,x;
int main ()
{
fin>>n;
for(i=1;i<=n;i++)
{
fin>>V[i]>>s;
if(s==0)
V[i]=-V[i];
V[i+n]=V[i];
}
s=1;
st=1;
dr=1;
S=0;
maxim=-10000000;
for(i=1;i<=2*n;i++)
{
if(S+V[i]>=V[i])
S+=V[i];
else
{
S=V[i];
s=i;
}
if(S>maxim)
{
maxim=S;
dr=i;
st=s;
}
}
fout<<maxim<<" "<<st<<" "<<dr-st+1;
return 0;
}