Pagini recente » Cod sursa (job #2117325) | Cod sursa (job #1848231) | Cod sursa (job #2428430) | Cod sursa (job #2457509) | Cod sursa (job #1127892)
#include <cstdio>
struct secv
{
int suma, inceput, sfarsit;
};
int l = 1;
secv s[250000];
int a[50000], n;
void secvente(int k)
{
int p = 1, q = n;
for(int i = 1; i<=n; i++)
{
s[l].suma = 0;
p = 1;
while(p <= q-k)
{
s[l].inceput = p;
s[l].sfarsit = q;
for(int j = p; j<=q; j++)
s[l].suma += a[j];
p++;
l++;
}
q--;
l++;
}
}
int fact(int x)
{
int p = 1;
for(int i = 1; i<=x; i++)
p*=i;
return p;
}
void tipar()
{
int max = 0, posmax;
int z = fact(n);
for(int i = 1; i<=z; i++)
if(max < s[i].suma)
{
max = s[i].suma;
posmax = i;
}
printf("%d %d %d",s[posmax].inceput, s[posmax].sfarsit, s[posmax].suma);
}
int main()
{
freopen("secv2.in","r",stdin);
freopen("secv2.out","w",stdout);
int k;
scanf("%d %d",&n,&k);
for(int i = 1; i<=n; i++)
scanf("%d ",&a[i]);
for(int i = k; i<=n; i++)
secvente(i);
tipar();
return 0;
}