Pagini recente » Cod sursa (job #2786995) | Cod sursa (job #2799646) | Cod sursa (job #644880) | Cod sursa (job #220046) | Cod sursa (job #3236876)
#include <fstream>
#include <vector>
using namespace std;
ifstream cin("buline.in");
ofstream cout("buline.out");
int n,maxi,s1,s2,start,final;
vector<int> A;
bool ok;
int total;
int st1,st2;
int main()
{
cin>>n;
A.resize(n+1);
for(int i=1;i<=n;i++)
{
cin>>A[i]>>ok;
if(!ok)
A[i]=A[i]*-1;
total=total+A[i];
}
for(int i=1;i<=n;i++)
{
if(s1<0)
{
s1=A[i];
st1=i;
}
else
s1=s1+A[i];
if(s2<0)
{
s2=-A[i];
st2=i;
}
else
s2=s2-A[i];
if(s1>maxi)
{
maxi=s1;
start=st1;
final=i;
}
if(total-s2>maxi)
{
maxi=total-s2;
start=i+1;
}
}
cout<<maxi<<" "<<start<<" "<<final-start+1;
return 0;
}