Pagini recente » Cod sursa (job #51174) | Cod sursa (job #3159276) | Cod sursa (job #2652099) | Cod sursa (job #2921109) | Cod sursa (job #1482245)
#include <iostream>
#include <vector>
#include <fstream>
#define INFINIT 40000
using namespace std;
int inc,sf, maxim, minim ,incc,sfc;
int n,k, a[500050];
ifstream f("secventa.in");
ofstream g("secventa.out");
int find_min(int inc, int sf)
{
minim=a[inc];
for(int i=inc;i<=sf;i++)
if(a[i]<minim)
minim=a[i];
return minim;
}
void read()
{
f>>n>>k;
for(int i=1;i<=n;i++)f>>a[i];
inc=1; sf=inc+k-1; minim = find_min(1,sf);
for(;sf<=n;sf++)
{
if(sf-inc>=k)
while(a[inc+1]>=minim && sf-inc>=k )
{
if(a[inc]==minim || a[sf]<minim) minim=find_min(inc+1,sf);
inc+=1;
}
if(minim>maxim)
maxim=minim,incc=inc,sfc=sf;
//cout<<inc<<" "<<sf<<" "<<minim<<" "<<maxim<<"\n";
}
}
int main()
{
read();
g<<incc<<" "<<sfc<<" "<<maxim;
return 0;
}