Pagini recente » Cod sursa (job #1001832) | Cod sursa (job #1133918) | Cod sursa (job #411944) | Cod sursa (job #2458628) | Cod sursa (job #1971453)
#include <iostream>
#include <fstream>
#include <limits>
using namespace std;
ifstream f1("secventa.in");
ofstream f2("secventa.out");
const int NMax=500005;
int x[NMax],n,i,k,l=1,V[NMax],MIN,MAX,K;
void cit(){
f1>>n>>K;
for(i=1;i<=n;i++){f1>>x[i];}
}
void rez(){
MIN=numeric_limits<int>::max() ;
MAX=numeric_limits<int>::min() ;
for(i=1;i<=n;i++)
{
if(i<=K)
{
MIN=min(MIN,x[i]);
}
else
{
if(MIN==x[l])
{
MIN=numeric_limits<int>::max() ;
for(int j=l+1;j<=i;++j)
{
MIN=min(MIN,x[j]);
}
}
V[i]=MIN;
++l;
}
}
for(int i=K;i<=n;++i)
{
MAX=max(V[i],MAX);
if(MAX==V[i])
{
k=i;
}
}
l=k-K+1;
while(V[l]>=MAX)
{
l--;
}
f2<<l<<' '<<k<<' '<<MAX<<'\n';
}
int main()
{
cit();
rez();
return 0;
}