Pagini recente » Cod sursa (job #60937) | Cod sursa (job #1088859) | Cod sursa (job #1640811) | Cod sursa (job #1924209) | Cod sursa (job #661525)
Cod sursa(job #661525)
#include<iostream>
#include<fstream>
using namespace std;
int v[400001],start,l,n;
void subsecventa(int &max)
{
int s,c,i;
max=-2000000000;
c=1;
s=0;
for(i=1;i<=n*2-1;i++) {
if(s<0) {
if(i>n)
return;
s=v[i];
c=i;
}
else s=s+v[i];
if((i>n)&&((c+n)==i))
return;
if(s>max) {
max=s;
start=c;
l=i-start+1;
}
}
}
int main ()
{
int i,x,y,max;
ifstream f("buline.in");
ofstream g("buline.out");
f>>n;
for(i=1;i<=n;i++) {
f>>x>>y;
if(y==0)
x=x*(-1);
v[i]=x;
}
f.close();
for( ;i<=n*2-1;i++)
v[i]=v[i-n];
subsecventa(max);
g<<max<<" "<<start<<" "<<l;
g.close();
return 0;
}