Cod sursa(job #2091770)

Utilizator Lazar_LaurentiuLazar Laurentiu Lazar_Laurentiu Data 20 decembrie 2017 10:44:01
Problema Secventa Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <iostream>
#include <cstdio>
#include <set>
#define MAX 500001
#define x first
#define y second

using namespace std;

int a[MAX],c1,c2,maxt,n,k;
set< pair<int,int> >s;

int main()
{
    freopen("secventa.in","r",stdin);
    freopen("secventa.out","w",stdout);
    scanf("%d%d",&n,&k);
    for (int i=1;i<=n;i++)scanf("%d",&a[i]);
    for(int i=1;i<=k;i++)s.insert(make_pair(a[i],i));
    c1=1,c2=k,maxt=(*s.begin()).x;
    for(int i=k+1;i<=n;i++){
      s.erase(s.find(make_pair(a[i-k],i-k)));
      s.insert(make_pair(a[i],i));
      if((*s.begin()).x>maxt){
        maxt=(*s.begin()).x;
        c1=i-k+1;
        c2=i;
      }
    }
    printf("%d %d %d",c1,c2,maxt);
    return 0;
}