Pagini recente » Cod sursa (job #2681934) | Cod sursa (job #369148) | Cod sursa (job #2667638) | Cod sursa (job #388461) | Cod sursa (job #1027629)
#include <fstream>
#include <cstring>
using namespace std;
int n, k, v[500005], i, semn, nr, x, st, dr, maxim, pmax, d[500005];
char s[4000000];
int main()
{
ifstream f("secventa.in");
ofstream g("secventa.out");
f>>n;f>>k;
f.get();
f.get(s,4000000);
semn=1;
for(i=0;s[i]!=0;i++)
{
if(s[i]=='-')
semn=0-1;
else
if(s[i]==' ')
{
x++;
v[x]=nr*semn;
nr=0;
semn=1;
}
else
nr=nr*10+s[i]-'0';
}
x++;
v[x]=nr*semn;
//for(i=1;i<=x;i++)
// g<<v[i]<<" ";
st = 1; dr = 0; maxim=-30010;
for (i=1;i<=n;i++)
{
while (st<=dr && v[i] <= v[d[dr]])
dr--;
d[++dr]= i;
if (i - d[st] == k)
st++;
if (i>=k)
if (v[d[st]] > maxim)
{
maxim=v[d[st]];
pmax=i;
}
}
g<<pmax-k+1<<" "<<pmax<<" "<<maxim;
g<<"\n";
f.close();g.close();
return 0;
}