Pagini recente » Statistici Victor Malai (Vitiok) | Istoria paginii runda/2525/clasament | Cod sursa (job #2033044) | Istoria paginii runda/7 | Cod sursa (job #2470804)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("buline.in");
ofstream fout("buline.out");
int n,i,b,a,poz,pozm,mini,ok,lm,l,v[400002];
long long smax,sum,best[400002];
int main()
{
fin>>n;
mini=-10000;
for(i=1; i<=n; i++)
{
fin>>a>>b;
if(b==0)
{
v[i]=-a;
}
else v[i]=a,ok=1;
mini=max(v[i],mini);
sum+=v[i];
}
if(ok)
{
smax=v[1];
pozm=1;
poz=1;
l=1;
for(i=1; i<=n; i++)
{
if(best[i-1]+v[i]>v[i])
{
best[i]=v[i];
l=1;
poz=i;
}
else
{
best[i]=v[i]+best[i-1];
l++;
}
if(best[i]<smax)
{
smax=best[i];
pozm=poz;
lm=l;
}
else if(best[i]==smax)
{
if(poz>n)poz-=n;
if(pozm>poz)
{
pozm=poz;
lm=l;
}
else if(pozm==poz)
{
lm=min(l,lm);
}
}
}
pozm+=l;
if(pozm>n) pozm-=n;
smax=sum-smax;
fout<<smax<<" "<<pozm<<" "<<n-l;
}
else
{
for(i=1; i<=n; i++)
{
if(v[i]==mini)
{
fout<<mini<<" "<<i<<" "<<1;
}
}
}
return 0;
}