Pagini recente » Diferente pentru problema/2sah intre reviziile 1 si 2 | Rezultatele filtrării | Rezultatele filtrării | Rezultatele filtrării | Cod sursa (job #51619)
Cod sursa(job #51619)
#include<stdio.h>
int nr[201];
int main(){
freopen("buline.in","r",stdin);
freopen("buline.out","w",stdout);
int n,i,max,s,p,l,poz,lun;
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%d %d",&p,&l);
if(l==1)
nr[i]=p;
else
nr[i]=-1*p;
}
s=max=0;
p=l=0;
for(i=0;i<n;i++){
if(s+nr[i]<nr[i]){
s=nr[i];
l=1;
p=i;
}
else{
s=s+nr[i];
l++;
}
if(s>max){
max=s;
poz=p+1;
lun=l;
}
}
for(i=0;i<n-1;i++){
if(s+nr[i]<nr[i]){
s=nr[i];
l=1;
p=i;
}
else{
s=s+nr[i];
l++;
}
if((s>max)&&(l<=n)){
max=s;
poz=p+1;
lun=l;
}
}
printf("%d %d %d\n",max,poz,lun);
return 0;
}