Pagini recente » Cod sursa (job #1703056) | Cod sursa (job #1049252) | Cod sursa (job #1648159) | Cod sursa (job #1726132) | Cod sursa (job #2548495)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("buline.in");
ofstream fout("buline.out");
int n, m, i, j, s, x, l, d, smax1, pozmax1, lmax1, smax2, pozmax2, lmax2, k, poz, nr, sol, stotal;
int v[200002];
int main(){
fin>>n;
for(i=1; i<=n; i++){
fin>>nr>>poz;
if(poz==0)
poz=-1;
v[i]=nr*poz;
stotal+=v[i];
}
for(i=1; i<=n; i++){
if(v[i]>=s+v[i]){
s=v[i];
l=1;
}else{
s=s+v[i];
l++;
}
if(s>smax1){
smax1=s;
pozmax1=i-l+1;
lmax1=l;
}
}
for(i=1; i<=n; i++){
if(v[i]<=s+v[i]){
s=v[i];
l=1;
}else{
s=s+v[i];
l++;
}
if(s<=smax2){
smax2=s;
pozmax2=i-l+1;
lmax2=l;
}
}
if(smax1>=stotal-smax2)
fout<<smax1<<" "<<pozmax1<<" "<<lmax1;
else
fout<<stotal-smax2<<" "<<pozmax2+lmax2<<" "<<n-lmax2;
}