Pagini recente » Cod sursa (job #403667) | Cod sursa (job #2112781) | Cod sursa (job #225463) | Cod sursa (job #320781) | Cod sursa (job #216439)
Cod sursa(job #216439)
#include<stdio.h>
int a[20001],n;
void citire()
{ int v;
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%d %d",&a[i],&v);
if(v==0)
a[i]=a[i]*(-1);
}
}
void solve()
{
int S_max=a[1];
int inceput=1,lungmax=1;
int S=S_max,lg=1;
int poz_i=1;
for(int i=2;i<=n*2;i++)
{
int j=i%n;
if(j==0)
j=n;
if(S<=0)
{
S=a[j];
poz_i=j;
lg=1;
}
else
{S=S+a[j];
lg++;
}
if(S_max<S&&lg<=n)
{
S_max=S;
inceput=poz_i;
lungmax=lg;
}
else
if(S_max==S&&lg<=n&&poz_i<inceput)
{S_max=S;
inceput=poz_i;
lungmax=lg;
}
else
if(S_max==S&&lg<=n&&poz_i==inceput&&lg<lungmax)
{
S_max=S;
inceput=poz_i;
lungmax=lg;
}
}
printf("%d %d %d",S_max,inceput,lungmax);
}
int main()
{
freopen("buline.in","r",stdin);
freopen("buline.out","w",stdout);
citire();
solve();
return 0;
}