Pagini recente » Cod sursa (job #1737401) | Cod sursa (job #1260552) | Cod sursa (job #147787) | Istoria paginii jc2020/solutii/nambartiori | Cod sursa (job #651187)
Cod sursa(job #651187)
#include <fstream>
#include <cstdio>
#include <cstring>
using namespace std;
ifstream f("ssm.in");
const int nmax=10000005;
int nr, semn, i, k, a[nmax], n;
int maxim=-nmax, pozi, pozf, sum;
char s[nmax];
int main()
{
freopen("ssm.out", "w", stdout);
f>>n; f.get();
f.getline(s, nmax);
semn=1;
int x=strlen(s);
for(i=0; i<=x; ++i)
{
if(s[i]=='-') semn=-1;
if(s[i]>='0' && s[i]<='9') nr=nr*10+s[i]-'0';
else if(s[i-1]>='0' && s[i-1]<='9')
{
a[++k]=nr*semn;
nr=0;
semn=1;
}
}
//for(i=1; i<=k; ++i) printf("%d ", a[i]);
for(i=1; i<=k; ++i)
{
sum+=a[i];
if(sum<0)
{
sum=a[i];
pozi=i;
}
if(sum>maxim)
{
maxim=sum;
pozf=i;
}
}
printf("%d %d %d\n", maxim, pozi, pozf);
return 0;
}