Pagini recente » Cod sursa (job #433684) | Cod sursa (job #719815) | Cod sursa (job #469492) | Cod sursa (job #3245558) | Cod sursa (job #1670262)
#include<fstream>
#include<limits.h>
#define DIM 300005
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int n,x,i,sum,bst=INT_MIN,b,e,b1=1;
char buff[DIM];
int poz = 0;
void Cit(int &a)
{
bool neg = false;
while(!isdigit(buff[poz]))
{
if(buff[poz]=='-')
neg = true;
if(++poz == DIM)
f.read(buff,DIM),poz = 0;
}
a = 0;
while(isdigit(buff[poz]))
{
a = a*10 + buff[poz]-'0';
if(++poz == DIM)
f.read(buff,DIM),poz = 0;
}
if(neg) a*=-1;
}
int main()
{
Cit(n);
for(i=1;i<=n;i++)
{Cit(x); sum+=x;
if (sum>bst) {bst=sum; b=b1; e=i;}
if (sum<0) {sum=0; b1=i+1;}
}
g<<bst<<" "<<b<<" "<<e;
return 0;
}