Pagini recente » Cod sursa (job #2131810) | Cod sursa (job #306478) | Cod sursa (job #2534203) | Cod sursa (job #2141402) | Cod sursa (job #50452)
Cod sursa(job #50452)
#include<fstream.h>
#include<limits.h>
long v[60000];
long n, k;
long smax=LONG_MIN;
void citire()
{
ifstream in("secv2.in");
in>>n>>k;
for (long i=1; i<=n; i++)
in>>v[i];
in.close();
}
void suma()
{
long i, j, s, p;
for (i=1; i<=k; i++) s+=v[i];
if (s>smax){ smax=s; j=i-1;}
for (i=k+1; i<=n; i++)
{
s+=v[i];
if (s>smax)
{
smax=s;
j=i;
}
}
long sm=LONG_MIN;
s=0;
for (i=j; i>=j-k+1;i--)
s+=v[i];
if (s>sm) { sm=s; p=i+1;}
for (i=j-k+1; i>=1; i--)
{
s+=v[i];
if (s>sm){ sm=s; p=i;}
}
s=0;
for (i=p; i<=j; i++)
s+=v[i];
ofstream out("secv2.out");
out<<p<<" "<<j<<" "<<s;
out.close();
}
/*void parcurs()
{
long i, j, p;
long l, lmax, s;
for (i=1; i<n; i++)
{
s=0;
l=0;
for (j=i; j<=n; j++)
{
s+=v[j];
l++;
if (l>=k)
{
if (s>smax)
{
smax=s;
lmax=l;
p=j-l+1;
}
}
}
}
ofstream out("secv2.out");
out<<p<<" "<<p+lmax-1<<" "<<smax;
out.close();
} */
int main()
{
citire();
suma();
return 0;
}