Pagini recente » Cod sursa (job #945264) | Cod sursa (job #47529) | Cod sursa (job #824378) | Cod sursa (job #2811632) | Cod sursa (job #3165239)
#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 + v[i] >= v[i] && salvarelungime <= n)
{
suma += v[i];
salvarelungime++;
}
else
suma = v[i], salvare = i,salvarelungime=1;
if (suma > sumamax)
{
primul=salvare;
sumamax=suma;
lungime=salvarelungime;
}
}
fout<<sumamax<<" "<<primul<<" "<<lungime;
}