Cod sursa(job #2053728)

Utilizator Lazar_LaurentiuLazar Laurentiu Lazar_Laurentiu Data 1 noiembrie 2017 10:48:02
Problema Secventa Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <iostream>
#include <fstream>
#include <set>
#define MAX 500001
#define x first
#define y second

using namespace std;

int n,k,a[MAX],ans,ansi;
set< pair<int,int> >s;

int main()
{
    ifstream f ("secventa.in");
    ofstream g ("secventa.out");
    f>>n>>k;
    ans=-100000;
    for(int i=1;i<=n;i++)f>>a[i];
    for(int i=1;i<k;i++) s.insert(make_pair(a[i],i));
    for(int i=k;i<=n;i++){
      if(i>k)s.erase(s.find(make_pair(a[i-k],i-k)));
      s.insert(make_pair(a[i],i));
      if((*s.begin()).x>ans){
        ans=(*s.begin()).x;
        ansi=i;
      }
    }
    g<<ansi-k+1<<" "<<ansi<<" "<<ans;
    f.close ();
    g.close ();
    return 0;
}