Pagini recente » Cod sursa (job #2472579) | Rating Pirosca Moise (eumoise) | Diferente pentru propuneri/6-arhiva-educationala intre reviziile 4 si 5 | Diferente pentru preoni-2007/runda-2/solutii intre reviziile 40 si 28 | Cod sursa (job #498575)
Cod sursa(job #498575)
#include<iostream>
#include<fstream>
#include<algorithm>
using namespace std;
int main () {
int sc,smax1,sss,smax2,dd,n,m,i,j,a,s,x[1000];
ifstream aa("buline.in");
ofstream ss("buline.out");
aa >> n; sss=0; a=1; s=1;
for (i=1;i<=n;++i) {
aa >> x[i] >> dd;
if (dd==0) x[i]=-x[i];
sss=x[i]+sss;
}
smax2=0; sc=0; smax1=0;
for (i=1;i<=n;++i) {
sc=sc+x[i];
if (sc<0) {sc=0; a=i+1;}
if (sc>smax1) {smax1=sc;
s=i-a+1;
j=a;
}
}
for (i=1;i<=n;++i) {
sc=sc+x[i];
if (sc>0) {sc=0; a=i+1;}
if (sc<smax2) {smax2=sc;
s=i-a+1;
j=a+s;
s=n-s;
}
}
if (sss-smax2>smax1) smax1=sss-smax2;
ss << smax1 << " " << j << " " << s;
ss.close();
aa.close();
return 0;
}