Pagini recente » Cod sursa (job #2340860) | Cod sursa (job #2470695) | Cod sursa (job #918125) | Cod sursa (job #1615992) | Cod sursa (job #1257195)
#include<fstream>
using namespace std;
int i, n, s, sec, v[200003], sol, x, ok, nr, poz;
ifstream in("buline.in");
ofstream out("buline.out");
int main(){
in>>n;
sol=-9999999;
for(i=1; i<=n; i++){
in>>v[i]>>x;;
if(x==0)
v[i]=-v[i];
s+=v[i];
}
for(i=1; i<=n; i++){
if(sec+v[i]>=v[i])
sec+=v[i];
else
sec=v[i];
if(sec>sol){
sol=sec;
poz=i;
ok=0;
}
}
sec=0;
for(i=1; i<=n; i++){
if(sec+v[i]<=v[i])
sec+=v[i];
else
sec=v[i];
if(s-sec>sol){
sol=s-sec;
poz=i+1;
ok=1;
}
}
out<<sol<<" "<<poz<<" ";
if(ok==0){
s=0;
for(i=poz; s!=sol; i++){
s+=v[i];
nr++;
}
out<<nr;
}
if(ok==1){
s=0;
for(i=poz; s!=sol && i<=n; i++){
s+=v[i];
nr++;
}
for(i=1; s!=sol; i++){
s+=v[i];
nr++;
}
out<<nr;
}
return 0;
}