Cod sursa(job #1539272)

Utilizator alexradu04Radu Alexandru alexradu04 Data 30 noiembrie 2015 16:58:13
Problema Buline Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <cstdio>
const int NMAX=400000;
using namespace std;
int s[NMAX+1];
int b[NMAX+1];
int p[NMAX+1];
int a[NMAX+1];
int nrbul[NMAX+1];
int main()
{
    freopen("buline.in","r",stdin);
    freopen("buline.out","w",stdout);
    int n,max2=0,i,pmin=0,max1=0,min1;
    scanf("%d",&n);
    b[0]=0;
    min1=0;
    for(i=1;i<=n;i++)
    {
        scanf("%d%d",&a[i],&nrbul[i]);
        if(nrbul[i]==0)
            nrbul[i]=a[i]*-1;
        else
            nrbul[i]=a[i];
        s[i]=s[i-1]+nrbul[i];
    }
    for(i=n+1;i<2*n;i++)
    {
        s[i]=s[i-1]+nrbul[i-n];
    }
    for(i=1;i<2*n;i++)
    {
        b[i]=s[i]-min1;
        p[i]=pmin+1;
        if(s[i]<min1)
        {
            min1=s[i];
            pmin=i;
        }
        if(b[i]>max1)
        {
            max2=i;
            max1=b[i];
        }
    }
    printf("%d %d %d ",b[max2],p[max2],max2-p[max2]+1);
    return 0;
}