Pagini recente » Cod sursa (job #143964) | Cod sursa (job #2419062) | Cod sursa (job #3213206) | Cod sursa (job #1519180) | Cod sursa (job #17401)
Cod sursa(job #17401)
#include <cstdio>
#define maxn 50001
#include <string>
#include <cstdlib>
int x[maxn], n, k;
void citire()
{
char aux[6*50000];
freopen("secv2.in", "r", stdin);
scanf("%d %d\n", &n, &k);
gets(aux);
char *p;
p=strtok(aux, " ");
x[1]=atoi(p);
for(int i=2;i<=n;i++)
{
p=strtok(0, " \n");
x[i]=atoi(p);
}
}
void solve()
{
int i,j;
int s[maxn];
memset(s,0,sizeof(s));
s[1]=x[1];
for(i=2;i<=n;i++) s[i]=s[i-1]+x[i];
int max=-0x3f3f3f3f, pmax=-1;
for(i=1;i<=n;i++) if(s[i]>max) max=s[i], pmax=i;
int p1=pmax;
int mx=-0x3f3f3f3f;
for(i=pmax;i>=1;i--)
if(s[pmax]-s[i]>mx) mx=s[pmax]-s[i], p1=i;
p1++;
int sum=0;
for(i=p1;i<=pmax;i++)sum+=x[i];
freopen("secv2.out", "w", stdout);
printf("%d %d %d\n", p1, pmax, sum);
}
int main()
{
citire();
// for(int i=1;i<=n;i++) printf("%d ", x[i]);
solve();
return 0;
}