Pagini recente » Cod sursa (job #1778647) | Cod sursa (job #2338432) | Cod sursa (job #2500993) | Cod sursa (job #1954352) | Cod sursa (job #1061568)
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <deque>
using namespace std;
int max1,j,n,k,sf,in,a[500005],i,ok;
deque <int> st;
char s[500005],c;
FILE *f,*g;
int main()
{f=fopen ("secventa.in","r");
g=fopen ("secventa.out","w");
fscanf (f,"%d%d",&n,&k);
max1=-30009;
for (i=1;i<=n;i++)
{ fscanf (f,"%d",&a[i]);
while (!st.empty() && a[st.back()]>=a[i]) st.pop_back ();
st.push_back (i);
if (st.front ()<i-k+1) st.pop_front ();
if (i>=k && a[st.front ()]>max1)
{
max1=a[st.front ()];
in=i-k+1;
sf=i;
}
}
fprintf (g,"%d %d %d",in,sf,max1);
return 0;
}