Pagini recente » Cod sursa (job #1157852) | Cod sursa (job #1369721) | Cod sursa (job #217920) | Cod sursa (job #2393469) | Cod sursa (job #834014)
Cod sursa(job #834014)
#include<fstream>
#include<algorithm>
using namespace std;
int i,j,k,n,v[500010],d[500010],p,u,maxi,ii,jj,oki,x;
char sir[500];
int main()
{
ifstream f("secventa.in");
ofstream g("secventa.out");
f>>n>>k;
f>>sir[0];
if(sir[0]>='0'&&sir[0]<='9')
x=x*10+sir[i]-48;
if(sir[0]=='-')
oki=1;
f.get(sir,500);
while(sir[i]!=0)
{
if(sir[i]=='-')
oki=1;
if(sir[i]>='0'&&sir[i]<='9')
{
x=x*10+sir[i]-48;
}
if(sir[i]==' '||sir[i+1]==0)
{
j++;
if(oki==1)
v[j]=0-x;
else
v[j]=x;
oki=0;
x=0;
}
i++;
}
d[1]=1;
maxi=-3000001;
for(i=2;i<=n;i++)
{
while(v[i]<v[d[u]]&&p<=u)
u--;
d[++u]=i;
if(i-d[p]==k)
p++;
if(i>=k)
{
if(v[d[p]]>maxi)
{
maxi=v[d[p]];
ii=i-k+1;
jj=i;
}
}
}
g<<ii<<" "<<jj<<" "<<maxi;
}