Cod sursa(job #1643266)

Utilizator pibogaBogdan piboga Data 9 martie 2016 18:18:14
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.99 kb
#include <fstream>
#include<cstring>
using namespace std;

ifstream fin ("secventa.in");
ofstream fout("secventa.out") ;

int n,k,u,p,j,v[500005],deq[500005],i,maxv=-30001,a,b;
long long s;
char c[500010];

int main()
{

   fin>>n>>k;

   // for (i=1;i<=n;i++)
     //   fin>>v[i];
     fin.get();
    fin.getline(c+1,500010);
    i=1;
    while (i<=strlen(c+1))
    {

        if (c[i]=='-')
        {
            i++;
            v[++j]=c[i]-'0';
            v[j]*=-1;
        }
        else
        if (c[i]!=' ')
        {
            v[++j]=c[i]-'0';
        }
        i++;
    }

    for (i=1;i<=n;i++)
    {
        while (p<=u && v[i]<v[deq[u]])
        {
            --u;
        }

        deq[++u]=i;

        if (deq[p]==i-k)
            p++;

        if (i>=k && v[deq[p]] >  maxv)
        {
                maxv=v[deq[p]];
                a=i-k+1;
                b=i;
        }

    }
  fout <<a<<' '<<b<<' '<<maxv;



    return 0;
}