Cod sursa(job #2409551)
Utilizator | Marco Vraja ArkhamKnighty | Data | 19 aprilie 2019 10:54:03 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 35 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 1.08 kb |
#include <fstream>
using namespace std;
ifstream cin("ssm.in");
ofstream cout("ssm.out");
int i,j,n,s[6000005],v[6000005],in,sf,maxx;
void citire()
{
cin>>n;
for(i=1; i<=n; i++)
{
cin>>v[i];
s[i]=s[i-1]+v[i];
if(s[i]>maxx)
{
maxx=s[i];
in=1;
sf=i;
}
}
/* for(j=1;j<=n;j++)
cout<<s[j]<<' ';
cout<<'\n';*/
for(i=2;i<=n;i++)
{
for(j=i;j<=n;j++){
s[j]=s[j]-v[i-1];
//cout<<s[j]<<' ';
if(s[j]>maxx){
maxx=s[j];
in=i;
sf=j;
}
else if(s[j]==maxx){
if(i<in)
{
in=i;
sf=j;
}
else if(i==in)
{
if(j<sf)
sf=j;
}
}
}
// cout<<'\n';
}
cout<<maxx<<' '<<in<<' '<<sf;
}
int main()
{
citire();
return 0;
}