Pagini recente » Cod sursa (job #678382) | Cod sursa (job #1249322) | Cod sursa (job #729528) | Cod sursa (job #1710704) | Cod sursa (job #1901319)
#include <bits/stdc++.h>
using namespace std;
ifstream f("ferma.in");
ofstream g("ferma.out");
int n,s,a[10010],i;
void load()
{
f>>n>>s;
for(i=1;i<=n;i++)
f>>a[i];
}
void prelucrare()
{
int i,j,k,sc,sm,poz1,poz2,h,h1,nr,nr1;
k=0; nr=1;
for(h1=1;h1<=s;h1++){ sc=sm=0; nr=0;
for(i=1;i<=n+1;i++)
{
if(i==n+1) i=1, nr++;
if(nr==3) break;
if(a[i]!=-100010){
if(sc+a[i]<a[i]) sc=a[i], j=i;
else sc+=a[i];
if(sc>sm) sm=sc, poz1=i, poz2=j;
}
}
k+=sm;
if(poz1>poz2)
{
for(i=poz1; i<=n; i++)
a[i]=-100010;
for(i=1;i<=poz2;i++)
a[i]=-100010;
}
for(h=poz1;h<=poz2; h++)
a[h]=-100010;
}
g<<k;
}
int main()
{
load();
prelucrare();
return 0;
}