Cod sursa(job #3165250)

Utilizator MrPuzzleDespa Fabian Stefan MrPuzzle Data 5 noiembrie 2023 18:36:01
Problema Buline Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.97 kb
#include <iostream>
#include <fstream>
#include <deque>
#include <algorithm>
#include <cmath>
#include <vector>
#include <climits>

#define DIM 200000
#define INF DIM * 10000 + 5

using namespace std;

//ifstream f("in.in");
//ofstream g("out.out");

ifstream f("buline.in");
ofstream g("buline.out");

int n,sum = -INF,x,y,sol=-INF,st=1,v[DIM+5],solst,soldr;

signed main()
{
    f>>n;
    for(int i=1;i<=n;i++){
        f>>x>>y;
        if(y == 0){
            x = -x;
        }

        v[i] = v[n+i] = x;
    }

    for(int i=1;i<=2*n;i++){

        x = v[i];

        if(sum+x >= x){
            sum+=x;
        }else{
            sum = x;
            st = i;
        }

        if(sol<sum){

            if(i-st+1 <= n){
                sol = sum;
                solst = st;
                soldr = i;
            }

        }

    }

    g<<sol<<" "<<solst<<" "<<soldr-solst+1;
    //cout<<solst<<" "<<soldr;

    return 0;
}