Pagini recente » Cod sursa (job #2134867) | Cod sursa (job #891417) | Cod sursa (job #599621) | Cod sursa (job #34253) | Cod sursa (job #3165244)
#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;
}