Cod sursa(job #473960)
| Utilizator | Data | 1 august 2010 21:55:35 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.66 kb |
#include <fstream>
using namespace std;
int n,a[6000001],k,s,t;
int main()
{
ifstream f("ssm.in",ios::in);
ofstream g("ssm.out",ios::out);
f>>n;
int sum,max=-2147483647;
for(int i=1;i<=n;i++)
f>>a[i];
for(int i=1;i<=n;i++)
for(int j=1;j<=n-i+1;j++)
{sum=0;
for(int k=j;k<=i+j-1;k++)
sum+=a[k];
if(sum>max)
{max=sum;
s=j;
t=i+j-1;
}
else
if(sum==max)
{
if(j<s)
{s=j;
t=i+j-1;
} else if(j==s)
if(i<t-s+1)
{s=j;
t=i+j-1;
}
}
}
g<<max<<" "<<s+1<<" "<<t;
}
