Cod sursa(job #3287385)
| Utilizator | Data | 17 martie 2025 18:22:42 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 45 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.62 kb |
#include <fstream>
using namespace std;
ifstream cin("ssm.in");
ofstream cout("ssm.out");
int smax=-100000000, sum[6000001];
int main()
{ int n, m, i , j,p,imax,jmax,smin=0,jmin=0;
int v[100001];
cin>>n;
for (i=1;i<=n;i++)
{cin>>v[i];
sum[i]=sum[i-1]+v[i];
}
for (i=1;i<=n;i++)
{if (sum[i]-sum[jmin]>smax) {smax=sum[i]-sum[jmin];
jmax=i;
imax=jmin+1;
}
if (sum[i]<sum[jmin]) jmin=i;
}
cout<<smax<<' '<<imax<<' '<<jmax;
return 0;
}
