Pagini recente » Cod sursa (job #1418204) | Cod sursa (job #1365446) | Cod sursa (job #39150) | Cod sursa (job #2597008) | Cod sursa (job #3165282)
#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;
smax=INT_MIN;
smin=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-(p2-i+1);
}
}
if (maxi>sum-mini)
fout<<maxi<<" "<<pmax<<" "<<lmax;
else
fout<<sum-mini<<" "<<pmin<<" "<<lmin;
return 0;
}