Cod sursa(job #2552800)
Utilizator | Data | 21 februarie 2020 11:10:06 | |
---|---|---|---|
Problema | Secventa | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.55 kb |
#include <fstream>
#define dim 500005
using namespace std;
ifstream fin("secventa.in");
ofstream fout("secventa.out");
int n,k,i,st,dr,poz;
pair<int,int> minn;
int sol;
int v[dim],d[dim];
int main()
{
fin>>n>>k;
st=1;
dr=0;
minn.first=-dim;
d[0]=0;
v[0]=-dim;
for(i=1;i<=n;i++){
fin>>v[i];
if(i-d[st]>=k) st++;
while(v[d[dr]]>=v[i]) dr--;
dr++;
d[dr]=i;
if(i>=k) minn=max(minn,{v[d[st]],i-k+1});
}
fout<<minn.second<<" "<<minn.second+k-1<<" "<<minn.first;
}