Pagini recente » Cod sursa (job #3253751) | Cod sursa (job #449668) | Cod sursa (job #2262998) | Cod sursa (job #952519) | Cod sursa (job #44058)
Cod sursa(job #44058)
#include<fstream.h>
#include<limits.h>
long n, s, l, rot;
typedef struct
{
int a, b;
} buline;
int main()
{
buline v[200000];
long smax=INT_MIN, p, i, ps, us;
ps=us=0;
ifstream in("buline.in");
in>>n;
for (i=1; i<=n; i++)
in>>v[i].a>>v[i].b;
in.close();
for (rot=1; rot<n; rot++)
{
s=0;
p=rot;
for (i=rot; i<=n; i++)
{
if (v[i].b==1)
s+=v[i].a;
else s-=v[i].a;
if (smax<s)
{
ps=p;
us=i;
smax=s;
}
}
for (i=1; i<rot; i++)
{
if (v[i].b==1)
s+=v[i].a;
else s-=v[i].a;
if (smax<s)
{
ps=p;
us=i;
smax=s;
}
}
}
ofstream out("buline.out");
if (us<ps)
{
l=(n-ps)+us+1;
}
out<<smax<<" "<<ps<<" "<<l;
out.close();
return 0;
}