Pagini recente » Cod sursa (job #512373) | Cod sursa (job #503626) | Cod sursa (job #611865) | Cod sursa (job #709981) | Cod sursa (job #382910)
Cod sursa(job #382910)
#include <iostream>
#include <cstdio>
#include <vector>
#define NMAX 50010
#define pb push_back
using namespace std;
int N, K, v[NMAX], i, l, r, smax;
void read(void)
{
freopen("secv2.in", "r", stdin);
scanf("%d %d", &N, &K);
for(i = 1; i <= N; ++i)
scanf("%d", &v[i]);
fclose(stdin);
}
void calc(void)
{
int s = 0, m = INT_MIN;
for(i = 1; i <= N; ++i)
{
s += v[i];
if(s > m)
{
m = s;
r = i;
}
}
s = 0;
m = INT_MIN;
for(i = r; i >= 1; --i)
{
s += v[i];
if(s > m)
{
m = s;
l = i;
}
}
for(i = l; i <= r; ++i)
smax += v[i];
}
void solve(void)
{
if(K != N)
calc();
else
{
for(i = 1; i <= N; ++i)
smax += v[i];
l = 1;
r = N;
}
}
void print(void)
{
freopen("secv2.out", "w", stdout);
printf("%d %d %d", l, r, smax);
fclose(stdout);
}
int main(void)
{
read();
solve();
print();
return 0;
}