Cod sursa(job #3167914)

Utilizator Alexbora13Bora Ioan Alexandru Alexbora13 Data 11 noiembrie 2023 11:41:12
Problema Buline Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.91 kb
#include<bits/stdc++.h>
#define START ios::sync_with_stdio(false); fin.tie(NULL); fout.tie(NULL);
#define STOP fin.close(); fout.close(); return 0;
#define MAX 400000
using namespace std;

ifstream fin("buline.in");
ofstream fout("buline.out");

int n,a[MAX+1];
int x,y,s;
int l,p,s1,s2,s3,l1,l2;


int main()
{
    START
    fin>>n;
    for(int i=1; i<=n; i++)
    {
        fin>>x>>y;
        a[i]=y?x:-x;
        s3+=a[i];
    }
    for(int i=1; i<=n; i++)
    {
        s1=s1+a[i];
        l1++;
        if(s1<a[i])
            s1=a[i],l1=1;
        s2=s2-a[i];
        l2++;
        if(s2<-a[i])
            s2=-a[i],l2=1;
        if(s1>s)
        {
            s=s1;
            p=i-l1+1;
            l=l1;
        }
        if(s3+s2>s)
        {
            s=s3+s2;
            p=i+1;
            l=n-l2;
        }
    }
    fout<<s<<' '<<p<<' '<<l;
    STOP
    return 0;
}