Pagini recente » Cod sursa (job #2072709) | Cod sursa (job #2831449) | Cod sursa (job #1119151) | Cod sursa (job #155090) | Cod sursa (job #2733246)
#include <fstream>
using namespace std;
fstream fin("buline.in",ios::in);
fstream fout("buline.out",ios::out);
int v[400005];
int main()
{
int n,st,num,val,stmax,length,lengthmax;
long long sum,summax;
fin>>n;
for(int i=1;i<=n;i++)
{
fin>>num>>val;
if(val)
v[i]=v[n+i]=num;
else
v[i]=v[n+i]=-num;
}
st=stmax=length=lengthmax=1;
sum=summax=v[1];
for(int i=2;i<=2*n;++i)
{
if(sum+v[i]<v[i])
{
st=i;
sum=v[i];
length=1;
}
else
{
sum+=v[i];
++length;
}
if(sum>summax && length<=n)
{
summax=sum;
lengthmax=length;
stmax=st;
}
}
fout<<summax<<" "<<stmax%n<<" "<<lengthmax;
return 0;
}