Cod sursa(job #2022413)
| Utilizator | Data | 16 septembrie 2017 15:15:55 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 85 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.45 kb |
#include<bits/stdc++.h>
using namespace std;
ifstream in("ssm.in");
ofstream out("ssm.out");
const int DIM=6000001;
int n,s[DIM],x;
int main(){
in>>n;
int i,minn,poz=1,maxx=0,poz2=0;
for(i=1;i<=n;i++)
{in>>x;s[i]=s[i-1]+x;
if(i==1)minn=s[i];
else if(s[i]<minn){minn=s[i];poz=i;}}
for(i=poz+1;i<=n;i++)
if(s[i]-s[poz]>maxx){maxx=s[i]-s[poz];poz2=i;}
out<<maxx<<" "<<poz+1<<" "<<poz2;
in.close();
out.close();
return 0;}
