Pagini recente » Cod sursa (job #432794) | Cod sursa (job #1304708) | Cod sursa (job #3230331) | Cod sursa (job #692549) | Cod sursa (job #2068616)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("buline.in");
ofstream g("buline.out");
int main()
{
long int N, i, b, x, Smax, p, l;
f>>N;
long int V[2*N], S[2*N];
S[0]=0;
for(i=1; i<=N; i++)
{
f>>x>>b;
if(b){S[i]=S[i-1]+x;
V[i]=x;}
else {S[i]=S[i-1]-x;
V[i]=-x;}
}
for(i=N+1; i<=2*N; i++)
{
V[i]=V[i-N];
S[i]=S[i-1]+V[i];
}
Smax=LONG_MIN;
for(i=1; i<=N; i++)
for(long int j=i+1; j<=N+i-1; j++)
{
long int Sij=S[j]-S[i-1];
if(Sij>Smax)Smax=Sij;
p=j-i;
l=i-1;
}
g<<Smax<<" "<<p<<" "<<l;
return 0;
}