Pagini recente » Cod sursa (job #807135) | Cod sursa (job #2438590) | Cod sursa (job #2923382) | Cod sursa (job #2628559) | Cod sursa (job #651061)
Cod sursa(job #651061)
#include<iostream>
#include<fstream>
using namespace std;
short v[200001];
int main ()
{
int i,start,l,n,s,max,c;
ifstream f("buline.in");
ofstream g("buline.out");
f>>n;
for(i=1;i<=n;i++) {
f>>l>>s;
if(s==0)
l=l*(-1);
v[i]=l;
}
f.close();
max=-2000000000;
c=1;
s=0;
for(i=1;i<=n;i++) {
if(s<0) {
s=v[i];
c=i;
}
else s=s+v[i];
if(s>max) {
max=s;
start=c;
l=i-start+1;
}
}
if((s>0)&&(start!=1)) {
i=1;
while((s>0)&&(i<start)) {
s=s+v[i];
if(s>max) {
max=s;
l=i+n-start+1;
}
i++;
}
}
g<<max<<" "<<start<<" "<<l;
g.close();
return 0;
}