Cod sursa(job #1061568)

Utilizator radu2004GOLD radu radu2004 Data 19 decembrie 2013 22:11:47
Problema Secventa Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#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;
}