Cod sursa(job #2245438)
| Utilizator | Data | 25 septembrie 2018 11:50:03 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 95 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.52 kb |
#include <fstream>
#include <climits>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int s[6000002], n, poz, smin=INT_MAX, x, smax=INT_MIN, p, u;
int main()
{
fin>>n;
for(int i=1; i<=n; ++i) {
fin>>x;
s[i]=s[i-1]+x;
if(smin>s[i]) {
smin=s[i];
poz=i;
}
if( smax<(s[i]-s[poz]) ) {
smax=s[i]-s[poz];
p=poz+1;
u=i;
}
}
fout<<smax<<" "<<p<<" "<<u;
return 0;
}
