Cod sursa(job #3288430)

Utilizator EricRaiaEricRaia EricRaia Data 22 martie 2025 11:35:53
Problema Buline Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.95 kb
#include <fstream>
#include <vector>

using namespace std;

ifstream cin("buline.in");
ofstream cout("buline.out");

int n,maxi,s1,s2,start,final;
vector<int> A;
bool ok;
int total;
int l1,l2;

int main()
{
    cin>>n;
    A.resize(n+1);
    for(int i=1;i<=n;i++){
        cin>>A[i]>>ok;
        if(!ok)
          A[i]=A[i]*-1;
        total=total+A[i];
    }
    for(int i=1;i<=n;i++){
        if(s1<0){
          s1=A[i];
          l1=1;
        }
        else{
         s1=s1+A[i];
         l1++;
        }
        if(s2<0){
          s2=-A[i];
          l2=1;
        }
        else{
         s2=s2-A[i];
         l2++;
        }
        if(s1>maxi){
            maxi=s1;
            start=i-l1+1;
            final=l1;
        }
        if(total+s2>maxi){
            maxi=total+s2;
            start=i+1;
            final=n-l2;
        }
    }
    cout<<maxi<< ' ' <<start<< ' ' <<final;

    return 0;
}