Pagini recente » Cod sursa (job #636727) | Cod sursa (job #2722235) | Cod sursa (job #164926) | Cod sursa (job #1519133) | Cod sursa (job #678964)
Cod sursa(job #678964)
#include <fstream>
using namespace std;
long int i,n,a[50005],b[50005],maxim,k,v[50005],poz,p1;
bool ok;
int main()
{
ifstream f("secv2.in");
ofstream g("secv2.out");
f>>n>>k;
for (i=1;i<=n;i++)
f>>a[i];
b[1]=a[1];
for (i=2;i<=n;i++) {
if (a[i]+b[i-1]>=a[i]) b[i]=a[i]+b[i-1];
else
b[i]=a[i];
}
ok=false;
while (ok==false) {
maxim=0;
for (i=1;i<=n;i++)
if (b[i]>maxim &&v[i]==0) {maxim=b[i];poz=i;}
v[poz]=1;
p1=poz;
while (b[p1]-b[p1-1]==a[p1] &&p1>1) p1--;
if (poz-p1+1>=k) {ok=true;g<<p1<<' '<<poz<<' '<<maxim;}
}
f.close();
g.close();
return 0;
}