Pagini recente » Cod sursa (job #449509) | Cod sursa (job #2351195) | Cod sursa (job #2114721) | Cod sursa (job #1905126) | Cod sursa (job #3165289)
#include <fstream>
#include <climits>
using namespace std;
ifstream fin("buline.in");
ofstream fout("buline.out");
int n,x,k,sum,smax,pmax,lmax,smin,pmin,lmin,p1,p2,maxi,mini;
int main() {
fin>>n;
maxi=INT_MIN;
mini=INT_MAX;
for (int i=1;i<=n;i++) {
fin>>x>>k;
if (k==0)
x=-x;
sum+=x;
if (smax<0) {
smax=x;
p1=i;
}
else
smax+=x;
if (smax>maxi) {
maxi=smax;
pmax=p1;
lmax=i-p1+1;
}
if (smin>=0) {
smin=x;
p2=i;
}
else
smin+=x;
if (smin<mini) {
mini=smin;
pmin=i+1;
lmin=n-(i-p2+1);
}
}
if (maxi>sum-mini)
fout<<maxi<<" "<<pmax<<" "<<lmax;
else
fout<<sum-mini<<" "<<pmin<<" "<<lmin;
return 0;
}