Pagini recente » Cod sursa (job #456174) | Cod sursa (job #31737) | Cod sursa (job #921334) | Cod sursa (job #2343320) | Cod sursa (job #2755189)
#include <fstream>
using namespace std;
ifstream cin("buline.in");
ofstream cout("buline.out");
long long i, j, n, s, v[400001], semn, start, maxim, st, dr;
int main(){
cin >> n;
for(i=1;i<=n;i++){
cin>>v[i]>>semn;
if(semn==0)
semn=-1;
v[i]*=semn;
}
for(i=n+1;i<=2*n;i++){
v[i]=v[i-n];
}
maxim=-200000000001;
start=1;
for(i=1;i<2*n;i++){
if(s<0){
s=0;
start=i;
}
s+=v[i];
if(s>maxim && dr-st+1<=n){
maxim=s;
st=start;
dr=i;
}
///cout<<i<<" "<<maxim<<" "<<s<<"\n";
}
cout<<maxim<<" "<<st<<" "<<dr-st+1<<"\n";
}