Pagini recente » Cod sursa (job #320108) | Cod sursa (job #706385) | Cod sursa (job #3163187) | Cod sursa (job #2789577) | Cod sursa (job #850240)
Cod sursa(job #850240)
#include <fstream>
#define NMax 6000003
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
long long n,i,j,x,semn,maxi,pmaxi,ss,a[NMax],sum[NMax];
string s;
int main()
{
f>>n;f.get();
getline(f,s);s=s+" ";
x=0;semn=1;
for(i=0; i<s.length(); i++)
if(s[i]=='-')semn=-1;
else if(s[i]>='0'&&s[i]<='9')x=x*10+s[i]-'0';
else {a[++j]=semn*x;x=0;semn=1;}
for (i=1; i<=n; i++)
if(sum[i-1]>0)sum[i]=sum[i-1]+a[i];
else sum[i]=a[i];
maxi=-1000000000000LL;
for (i=1; i<=n; i++)
if(maxi<sum[i]){maxi=sum[i];pmaxi=i;}
for(i=pmaxi; i>=1; i--){
ss+=a[i];
if(ss==maxi)break;
}
g<<maxi<<" "<<i<<" "<<pmaxi<<'\n';
return 0;
}