Pagini recente » Cod sursa (job #205917) | Cod sursa (job #1294460) | Cod sursa (job #2317080) | Cod sursa (job #2672283) | Cod sursa (job #290418)
Cod sursa(job #290418)
//#include<algorithm>
//using namespace std;
#include<stdio.h>
#define DIM 200001
#define INF 1000001
int n,a[2*DIM];
void solve(){
int i,j,cul,min0,pozmin0,max0;
scanf("%d",&n);
for(i=1; i<=n; ++i){
scanf("%d%d",&a[i],&cul);
if(!cul)
a[i]*=-1;}
for(i=1; i<=n; a[i+n]=a[i],++i);
for(i=1; i<=2*n; a[i]+=a[i-1],++i);
for(i=1,min0=pozmin0=0,max0=-INF; i<=2*n; ++i){
if(a[i]-min0>max0)
max0=a[i]-min0;
if(i-n>=pozmin0){
for(j=i-n+1,min0=INF; j<=i; ++j)
if(a[j]<min0){
min0=a[j];
pozmin0=j;}}
else if(a[i]<min0){
min0=a[i];
pozmin0=i;}}
printf("%d 0 0",max0);
/*for(i=1; i<=2*n; ++i)
printf("%d ",a[i]);*/}
int main(){
freopen("buline.in","r",stdin);
freopen("buline.out","w",stdout);
solve();
return 0;}