Pagini recente » bruh | Statistici Alin Mihai (Suisse) | Istoria paginii utilizator/andrei0308 | Istoria paginii utilizator/ralucacruceriu | Cod sursa (job #2013197)
#include<fstream>
using namespace std;
ifstream f("buline.in");
ofstream g("buline.out");
long long sum, n,rez = -1000000000,a, poz1, poz2, pozz=1;
long long v[400002],b;
long long max1,pz;
int main()
{
f>>n;
for(int i=1;i<=n;++i)
{
f>>a>>b;
if(b==0)
a=-a;
v[i]=a,v[n+i]=v[i];
if(a>max1)
max1=a,pz=i;
}
for (int i = 1; i <=2* n; i++)
{
a=v[i];
if (sum < 0)
{
pozz = i;
sum = a;
}
else
sum = sum + a;
if (sum > rez && i-pozz<n)
{
rez = sum;
poz1 = pozz;
poz2 = i;
}
}
g<<rez<<" "<<poz1<<" "<<poz2-poz1+1;
return 0;
}