Pagini recente » Cod sursa (job #1479300) | Cod sursa (job #3139340) | Cod sursa (job #1367379) | Cod sursa (job #28839) | Cod sursa (job #3288430)
#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 l1,l2;
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];
l1=1;
}
else{
s1=s1+A[i];
l1++;
}
if(s2<0){
s2=-A[i];
l2=1;
}
else{
s2=s2-A[i];
l2++;
}
if(s1>maxi){
maxi=s1;
start=i-l1+1;
final=l1;
}
if(total+s2>maxi){
maxi=total+s2;
start=i+1;
final=n-l2;
}
}
cout<<maxi<< ' ' <<start<< ' ' <<final;
return 0;
}