Pagini recente » Cod sursa (job #2450473) | Cod sursa (job #532704) | Cod sursa (job #81194) | Cod sursa (job #2497086) | Cod sursa (job #1643266)
#include <fstream>
#include<cstring>
using namespace std;
ifstream fin ("secventa.in");
ofstream fout("secventa.out") ;
int n,k,u,p,j,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;
while (i<=strlen(c+1))
{
if (c[i]=='-')
{
i++;
v[++j]=c[i]-'0';
v[j]*=-1;
}
else
if (c[i]!=' ')
{
v[++j]=c[i]-'0';
}
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;
}