Pagini recente » Cod sursa (job #1218408) | Cod sursa (job #1399283) | Cod sursa (job #451000) | Cod sursa (job #2507273) | Cod sursa (job #2755198)
#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;
cin>>v[1]>>semn;
if(semn==0)
semn=-1;
v[1]*=semn;
s=v[1];
for(i=2;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=v[1];
start=1;
for(i=2;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";
}