Pagini recente » Cod sursa (job #1127613) | Cod sursa (job #1238549) | Cod sursa (job #1838571) | Cod sursa (job #1239192) | Cod sursa (job #1122037)
/// Craciun Catalin
/// Secv2
/// Programare dinamica
#include <fstream>
#include <iostream>
#include <map>
struct cheie{
int LEFT, RIGHT;
};
#define NMax 50005
using namespace std;
ifstream f("secv2.in");
ofstream g("secv2.out");
unsigned int n,k;
int A[NMax];
long long S[NMax];
int st, dr, auxSt;
void programareDinamica()
{
bool found=false;
long long maxim;
unsigned int st, dr;
for (unsigned int i=1;i<=n;i++)
S[i]=S[i-1]+A[i];
for (unsigned int i=1;i<=n-k+1;i++)
{
for (unsigned int j=i+k-1;j<=n;j++)
if (!found)
{
maxim=S[j]-S[i-1];
st=i;
dr=j;
found=true;
}
else if (S[j]-S[i-1]>maxim)
{
maxim=S[j]-S[i-1];
st=i;
dr=j;
}
}
g<<st<<' '<<dr<<' '<<maxim<<'\n';
g.close();
}
void citire()
{
f>>n>>k;
for (unsigned int i=1;i<=n;i++)
f>>A[i];
f.close();
}
int main()
{
citire();
programareDinamica();
return 0;
}