Pagini recente » Cod sursa (job #2396976) | Cod sursa (job #2362550) | Istoria paginii runda/11b | Cod sursa (job #1796552) | Cod sursa (job #1685325)
#include <iostream>
#include<string>
#include<fstream>
using namespace std;
string s;
int i,semn,j,n,numar,deq[500005],poz[500005],mx,p,u,k,pozkey;
int main()
{
ifstream f("secventa.in");
ofstream g("secventa.out");
f>>n>>k;
f.get();
semn=1;
mx=-(1<<30);
p=1;
u=0;
getline(f,s);
while(i<=n)
{
if(s[j]>='0'&&s[j]<='9')
{
numar=numar*10+s[j]-'0';
}
else if(s[j]=='-')
{
semn=-1;
}
else
{
i++;
numar*=semn;
if(i-poz[p]>=k) p++;
while(numar<=deq[u]&&p<=u)
{
u--;
}
u++;
deq[u]=numar;
poz[u]=i;
if(i>=k &&deq[p]>mx) {mx=deq[p];pozkey=i;}
semn=1;
numar=0;
}
j++;
}
g<<pozkey-k+1<<' '<<pozkey<<' '<<mx;
return 0;
}