Pagini recente » Cod sursa (job #3183888) | Cod sursa (job #3280227) | Cod sursa (job #67132) | Cod sursa (job #2342105) | Cod sursa (job #2294296)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("secventa.in");
ofstream fout("secventa.out");
int t[500005],q[500005];
long long i,j,p,u,m=-1000000000,n,x,y,k,poz;
string s;//BLa mii lene sa fac optimizaaaareeeeeeeeeeeeeeeeeeeeeeeeeeeee!
int main()
{
fin>>n>>k; p=1;u=0;
//getline(fin,s);
//
getline(fin,s);
getline(fin,s);
//cout<<s;
for (i=0;i<s.size();i++)
{
if (s[i]=='-')
{
poz++;
i++;
int nr=0;
while (s[i]>='0' && s[i]<='9')
{
nr=nr*10-(s[i]-'0');
i++;
}
t[poz]=nr;
}
else
if (s[i]>='0' && s[i]<='9')
{
poz++;
int nr=0;
while (s[i]>='0' && s[i]<='9')
{
nr=nr*10+(s[i]-'0');
i++;
}
t[poz]=nr;
}
}
for (i=1;i<=n;i++)
{
while (p<=u && t[q[u]]>=t[i]) u--;
u++;
q[u]=i;
if (q[p]==i-k) p++;
if (i>=k)
if (t[q[p]]>m) {m=t[q[p]]; x=i;}
}
fout<<x-k+1<<" "<<x<<" "<<m;
return 0;
}