Cod sursa(job #1138282)
| Utilizator | Data | 9 martie 2014 20:50:10 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 95 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.48 kb |
#include <fstream>
using namespace std;
#define NMax 6000001
#define inf 2100000000
ifstream f("ssm.in");
ofstream g("ssm.out");
int n,best[NMax],pr[NMax],mx,p;
int main()
{
int i,a;
best[0]=-inf;
f>>n;
for(i=1;i<=n;i++)
{
f>>a;
if(best[i-1]<0) {pr[i]=i;best[i]=a;}
else {pr[i]=pr[i-1];best[i]=best[i-1]+a;}
if(best[i]>mx) {mx=best[i];p=i;}
}
g<<mx<<" "<<pr[p]<<" "<<p<<"\n";
f.close();
g.close();
return 0;
}
