Pagini recente » Cod sursa (job #74731) | Cod sursa (job #179142) | Cod sursa (job #977720) | Cod sursa (job #1343713) | Cod sursa (job #1103950)
# include <fstream>
# include <deque>
# include <cstring>
using namespace std;
ifstream f("secventa.in");
ofstream g("secventa.out");
int var,i,j,n,k,v1,v2,minn,VV,ok;
short a[500005];
deque <int> d;
char s[4000000];
int main ()
{
f>>n>>k; f.get ();
f.getline (s,4000000);
minn=-999999; VV=0;
for (i=1; i<=n; ++i)
{
var=0; ok=1;
if (s[VV]=='-') ok=-1,++VV;
while (s[VV]>='0' && s[VV]<='9')
{
var=var*10+s[VV]-'0';
++VV;
}
var*=ok;
++VV;
a[i]=var;
while (! d.empty() && a[i]<a[d.back()])
d.pop_back();
d.push_back(i);
if (i-k==d.front()) d.pop_front ();
if (i>=k)
{
var=a[d.front ()];
if (var>minn)
{
minn=var;
v1=i-k+1;
v2=i;
}
}
}
g<<v1<<" "<<v2<<" "<<minn<<"\n";
return 0;
}