Cod sursa(job #681365)
Utilizator | Costea Bogdan bogdan353 | Data | 16 februarie 2012 23:04:36 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 95 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.45 kb |
#include<fstream>
using namespace std;
#define inf 0x3f3f3f3f
long long sum, mini,a,best,n;
int main()
{
ifstream f("ssm.in");
ofstream g("ssm.out");
f>>n;
mini=0;
sum=0;
long long max=-inf;
long long t,p,u;
for(int i=1;i<=n;i++)
{
f>>a;
sum=sum+a;
best=sum-mini;
if(sum<mini)
{
mini=sum;
t=i+1;
}
if(best>max)
{
max= best;
p=t;
u=i;
}
}
g<<max<<" "<<p<<" "<<u;
}