Cod sursa(job #91939)
Utilizator | Data | 13 octombrie 2007 20:08:58 | |
---|---|---|---|
Problema | Buline | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.51 kb |
#include<stdio.h>
int main(){
int v[200000],n,i,j,k,max,s,a,b,c;
freopen("buline.in","r",stdin);
freopen("buline.out","w",stdout);
scanf("%d",&n);
for (i=0;i<n;++i){
scanf("%d",&v[i],k);
if (k==0)
v[i]*=-1;
v[i+n]=v[i];
}
max=-1000001;
for (k=1;k<n;++k){
for (i=0;i<n;++i){
s=0;
for (c=i;c<i+k;++c)
s+=v[c];
for (j=i+k;j<n;++j){
s+=v[j];
if (s>max){
a=i;
b=j;
max=s;
}
}
}
}
printf("%d %d %d",max,a,b-a+1);
return 0;
}