Mai intai trebuie sa te autentifici.
Cod sursa(job #1946836)
| Utilizator | Data | 30 martie 2017 15:26:52 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.84 kb |
#include <iostream>
#include<fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int v[6000001];
int main() {
int n, nr, sum, i, max1, cs, ccs, ccd,neg,maxn,cp;
fin>>n;
sum=0;
cs=1;
max1=0;
neg=0;
maxn=-2000000000;
for(i=1;i<=n;i++) {
fin>>nr;
if(nr<0) {
if(nr>maxn) {
maxn=nr;
cp=i;
}
neg++;
}
sum=sum+nr;
if(sum<0) {
sum=0;
cs=i;
}
if(sum>max1) {
max1=sum;
ccs=cs;
ccd=i;
}
v[i]=sum;
}
if(neg!=n) {
fout<<max1<<" "<<ccs+1<<" "<<ccd;
}
else {
fout<<maxn<<" "<<cp<<" "<<cp;
}
return 0;
}
