Cod sursa(job #3165244)

Utilizator gianiferSpita Alexandru-Mihai gianifer Data 5 noiembrie 2023 18:27:50
Problema Buline Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("buline.in");

ofstream fout("buline.out");

int v[400010], n, x;

int main()
{
    fin >> n;
    for (int i = 1; i <= n; i++)
    {
        fin >> v[i] >> x;
        v[i] = (v[i] + 2 * x * v[i] - 2 * v[i]);
        v[n + i] = v[i];
    }
    int suma = -1, sumamax = 0;
    int salvare, primul, salvarelungime, lungime;
    for (int i = 1; i <= 2 * n; i++)
    {
        if (suma < 0)
        {
            suma = v[i];
            salvare = i;
            salvarelungime = 1;
        }
        else if (salvarelungime < n)
        {
            suma += v[i];
            salvarelungime++;
        }
        if (suma > sumamax)
        {
            primul = salvare;
            sumamax = suma;
            lungime = salvarelungime;
        }
    }
    fout << sumamax << " " << primul << " " << lungime;
}