Cod sursa(job #2170437)
| Utilizator | Data | 15 martie 2018 01:07:49 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 80 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.71 kb |
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
vector <int> a(6000003);
int main()
{
int n, i,x=0, xmax=-999999, sum=0, summax=-99999, pm, l;
ifstream in("ssm.in");
in>>n;
for(i=1;i<=n;i++)
{
in>>a[i];
}
in.close();
a[0]=0;
for(i=1;i<=n;i++)
{
a[i]=a[i]+a[i-1];
x=a[i];
if(xmax<x)
{
xmax=x;
pm=i;
}
}
for(i=1;i<=n;i++)
{
sum=xmax-a[i];
if(summax<sum)
{
summax=sum;
l=i+1;
}
}
ofstream out("ssm.out");
out<<summax<<" "<<l<<" "<<pm;
out.close();
return 0;
}
