Cod sursa(job #3324400)

Utilizator unomMirel Costel unom Data 22 noiembrie 2025 10:35:47
Problema Buline Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.97 kb
#include <fstream>

using namespace std;

#define int long long

ifstream in("buline.in");
ofstream out("buline.out");
int n;
int v[400005];

signed main()
{
    in>>n;

    int x, y;
    for(int i = 1; i<=n; i++)
    {
        in>>x>>y;

        if(y == 0)
        {
            v[i] = -x;
        }
        else
        {
            v[i] = x;
        }
    }

    for(int i = n + 1; i<=2*n; i++)
    {
        v[i] = v[i - n];
    }

    int sum = 0;
    int start = 1;

    int ans = -2e9;
    int st, dr;

    for(int i = 1; i<=2*n; i++)
    {
        if(sum < 0)
        {
            sum = 0;
            start = i;
        }

        sum += v[i];
        if(i - n == start)
        {
            sum -= v[start];
            start++;
        }

        if(sum > ans)
        {
            ans = sum;
            st = start;
            dr = i;
        }
    }

    out<<ans<<" "<<st<<" "<<dr - st + 1;

    return 0;
}