Pagini recente » Borderou de evaluare (job #600368) | Cod sursa (job #1337017) | Istoria paginii utilizator/9andrewc852yh1 | Cod sursa (job #3037779) | Cod sursa (job #2029899)
///ssm folosind smenul lui mars
///calculez sume partiale si suma maxima e data de s[i]-min(s[j-1])
#include <bits/stdc++.h>
using namespace std;
ifstream F("ssm.in");
ofstream G("ssm.out");
int n, x, L, R, mI;
long long s[6000005], bestans, best, Min;
int main()
{
F >> n;
for(int i = 1; i <= n; ++ i) F >> x, s[i]=s[i-1]+x;
bestans=-1<<31;
for(int i = 1; i <= n; ++ i)
{
best=s[i]-Min;
if(s[i]<Min) Min=s[i], mI=i;
if(bestans<best) bestans=best, L=mI+1, R=i;
}
if(L > R) L = R;
G << bestans << " " << L << " " << R;
return 0;
}