Cod sursa(job #1464868)

Utilizator iulianrotaruRotaru Gheorghe-Iulian iulianrotaru Data 25 iulie 2015 20:48:42
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include<fstream>
#define Xp 6000013
#include <cstring>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int n,i,st,sum,m,ms,md,poz,s,k;
char w[Xp*33];
int main()
{
    f>>n;
    m=(1<<31);
    f.get();
    f.get(w,Xp*33);
    for(st=i=1;i<=n;++i)
    {
        if(w[poz]=='-') ++poz,k=1;
        while(w[poz]>='0'&&w[poz]<='9') s=s*10+w[poz]-'0',++poz;
        if(k==1) k=0,s*=-1;
        if(sum+s>=s) sum+=s;
            else sum=s,st=i;
        if(sum>m) md=i,ms=st,m=sum;
        ++poz; s=0;
    }
    g<<m<<" "<<ms<<" "<<md;
    return 0;
}