Cod sursa(job #3236876)

Utilizator DomnulMilandruMilandru Nicon-David DomnulMilandru Data 3 iulie 2024 13:26:07
Problema Buline Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.91 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 st1,st2;
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];
          st1=i;
        }
        else
         s1=s1+A[i];
        if(s2<0)
        {
          s2=-A[i];
          st2=i;
        }
        else
         s2=s2-A[i];
        if(s1>maxi)
        {
            maxi=s1;
            start=st1;
            final=i;
        }
        if(total-s2>maxi)
        {
            maxi=total-s2;
            start=i+1;
        }
    }
    cout<<maxi<<" "<<start<<" "<<final-start+1;
    return 0;
}