Pagini recente » Cod sursa (job #703374) | Cod sursa (job #1561058) | Cod sursa (job #2187076) | Cod sursa (job #3041333) | Cod sursa (job #890766)
Cod sursa(job #890766)
//#include <iostream>
#include<fstream>
//#include<math.h>
//#include<string>
//#include<stack>
//#include<windows.h>
//#include<time.h>
//#include<queue>
using namespace std;
//long long ;
int n, a[6000000], mini, bestSum, poz1, poz2;
long long best[6000000], sum[6000000];
//stack <int> ;
//string ;
//struct e
//{
//}
//queue <e>;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
inline void citire()
{
fin >> n;
for(int i = 1; i <= n; ++i)
{
fin >> a[i];
}
}
inline void bordare()
{
}
inline void afisare()
{
}
int main()
{
citire();
sum[0] = 0;
for (int i = 1; i <= n; i++) sum[i] = a[i] + sum[i-1];
mini = sum[0];
bestSum = -30000;
for(int j = 2; j <= n; ++j)
{
best[j] = sum[j] - mini;
if(mini > sum[j]) {mini = sum[j];poz1 = j + 1;}
if(best[j] > bestSum) {bestSum = best[j]; poz2 = j;}
}
fout << bestSum << " "<< poz1 << " " << poz2;
return 0;
}