Pagini recente » Cod sursa (job #1913072) | Cod sursa (job #2514814) | Cod sursa (job #1519874) | Cod sursa (job #1660112) | Cod sursa (job #2037462)
#include <fstream>
#include <cstring>
#define Nmax 500010
using namespace std;
ifstream f("secventa.in");
ofstream g("secventa.out");
int n,k,j,st=1,vmax=-300001,u,dr,D[Nmax],A[Nmax];
char s[10000005];
int main()
{ f>>n>>k;
f.get();
f.getline(s, 10000005);
for(int i=1;i<=n;i++)
{
int sign=1;
if(s[j]==' ') j++;
if(s[j]=='-') {sign=-1; j++;}
while('0'<=s[j] and s[j]<='9') {A[i]=A[i]*10+s[j]-'0'; j++;}
A[i]*=sign;
}
for(int i=1;i<=n;i++)
{ while(st<=dr and A[i]< A[D[dr]]) dr--;
D[++dr]=i;
if(D[st]<=i-k) st++;
if(i>=k and A[D[st]]>vmax) {vmax=A[D[st]]; u=i;}
}
g<<u-k+1<<' '<<u<<' '<<vmax;
g.close();
return 0;
}