Cod sursa(job #1327421)

Utilizator karlaKarla Maria karla Data 26 ianuarie 2015 18:33:22
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <stdio.h>

FILE*f=fopen("secventa.in","r"),*g=fopen("secventa.out","w");

int n, a[5000003], k, x[5000003];

using namespace std;

int main()
{
    int p = 1, u = 0;
    long long s = 0;
    fscanf(f,"%d %d",&n,&k);
    for(int i = 1; i <= n; i++)
    {
        fscanf(f,"%d",&x[i]);
    }
    int maxim = 0, h = 0;
    for(long i = 1; i <= n; i++)
    {
        while(a[u] > x[i] && p <= u)
        {
                u--;
        }
        a[++u] = x[i];
        if(i >= k )
        {
            if(a[p] > maxim)
            {
              h = i;
              maxim = a[p];
            }
        }
        if(x[i-k+1] == a[p] && i >= k)
            p++;
    }
      fprintf(g,"%d %d %d",h-k+1, h, maxim);
   // fprintf(g,"%lld", s);
    return 0;
}