Pagini recente » Cod sursa (job #2123139) | Cod sursa (job #888850) | Cod sursa (job #1752840) | Cod sursa (job #1757069) | Cod sursa (job #1064764)
#include <fstream>
#include <cstring>
using namespace std;
ifstream f("secventa.in");
ofstream g("secventa.out");
int n, k, elem, a[5001], deq[5001], i, st=1, dr, j, Max=-30010, sts, drs, l=1;
char ch[4005];
int main()
{
f>>n>>k;
f.get();
f.get(ch,4000010);
for (i=1; i<=strlen(ch); i++)
{
if(ch[i] >= '0' && ch[i] <= '9')
{
if (ch[i-1] == '-')
a[l] = (-1) * (ch[i]-'0');
else
a[l] = ch[i] - '0';
l++;
}
}
for (i=1; i<=n; i++)
{
while (st<=dr && a[i] <= a[deq[dr]])
dr--;
deq[++dr]=i;
if (i-k == deq[st])
st++;
if (i>=k)
{
if (a[deq[st]] > Max)
{
Max=a[deq[st]];
drs=i;
}
}
}
g<<drs-k+1<<" "<<drs<<" "<<Max;
return 0;
}