Pagini recente » Cod sursa (job #2939163) | Cod sursa (job #358815) | Cod sursa (job #2962605) | Cod sursa (job #2686276) | Cod sursa (job #3169111)
#include <fstream>
#define INF 0x3FFFFFFF
using namespace std;
ifstream fin("buline.in");
ofstream fout("buline.out");
int n;
int v[2 * 200000 + 5];
int smax = -INF;
int p,l;
int pm,lm;
int main()
{
fin>>n;
for(int i=1;i<=n;i++)
{
int k;
fin>>v[i]>>k;
v[n+i]=v[i];
if(k==0)
v[i]*=-1,v[n+i]*=-1;
}
int s = -INF;
for(int i=1;i<=2*n;i++)
{
if( s + v[i] > v[i] && l<=n)
s+=v[i],l++;
else
p=i,s=v[i],l=1;
if(s>smax)
{
smax=s;
pm=p;
lm=l;
}
}
fout<<smax<<' '<<pm<<' '<<lm;
}