Pagini recente » Cod sursa (job #2924494) | Cod sursa (job #736210) | Cod sursa (job #361995) | Cod sursa (job #2137999) | Cod sursa (job #1643315)
#include <fstream>
#include<cstring>
using namespace std;
ifstream fin ("secventa.in");
ofstream fout("secventa.out") ;
int n,k,u,p,j,x,sgn,v[500005],deq[500005],i,maxv=-30001,a,b;
long long s;
char c[500010];
int main()
{
fin>>n>>k;
// for (i=1;i<=n;i++)
// fin>>v[i];
fin.get();
fin.getline(c+1,500010);
i=1;
sgn=1;
while (i<=strlen(c+1))
{
if (c[i]=='-')
sgn=-1;
else
{
x=0;
while (c[i]!=' ' && i<=strlen(c+1))
{
x=x*10+(c[i]-'0');
i++;
}
x*=sgn;
v[++j]=x;
sgn=1;
}
i++;
}
for (i=1;i<=n;i++)
{
while (p<=u && v[i]<v[deq[u]])
{
--u;
}
deq[++u]=i;
if (deq[p]==i-k)
p++;
if (i>=k && v[deq[p]] > maxv)
{
maxv=v[deq[p]];
a=i-k+1;
b=i;
}
}
fout <<a<<' '<<b<<' '<<maxv;
return 0;
}