Pagini recente » Cod sursa (job #2605642) | Cod sursa (job #1345969) | Cod sursa (job #967327) | Cod sursa (job #3205060) | Cod sursa (job #2117306)
#include <fstream>
using namespace std;
ifstream f("vila2.in");
ofstream g("vila2.out");
int n,k,st1,dr1,st2,dr2,i,Max,a[100001],v1[100001],v2[100001];
int main()
{
f>>n>>k;
st1=1;dr1=0;
st2=1;dr2=0;
for(i=1;i<=n;i++){
f>>a[i];
while(st1<=dr1&&a[i]<=a[v1[dr1]])
dr1--;
dr1++;
v1[dr1]=i;
if(v1[st1]==i-k-1)
st1++;
while(st2<=dr2&&a[i]>=a[v2[dr2]])
dr2--;
dr2++;
v2[dr2]=i;
if(v2[st2]==i-k-1)
st2++;
Max=max(Max,a[v2[st2]]-a[v1[st1]]);
}
g<<Max;
return 0;
}