Pagini recente » Cod sursa (job #2956535) | Cod sursa (job #268066) | Cod sursa (job #2823056) | Cod sursa (job #1563398) | Cod sursa (job #1233963)
#include <iostream>
#include <cstdio>
using namespace std;
FILE *f=fopen ("secventa.in","r");
FILE *g=fopen ("secventa.out","w");
int a[500010],b[500010],maxx=0,ma,n,pozi,pozf;
void Solve()
{
int j,i,k=0;
for (i=1;i<=n;i++)
{
while (k>0 && a[i]<=a[b[k]]) k--;
k++;
b[k]=i;
for (j=k;j>=1;j--)
{
if (i-b[j]+1>=ma) {if (a[b[j]]>maxx) {maxx=a[b[j]];pozi=b[j];pozf=i;}break;}
}
}
}
int main()
{
int i;
fscanf (f,"%d %d",&n,&ma);
for (i=1;i<=n;i++) {
fscanf (f,"%d",&a[i]);
}
Solve();
fprintf (g,"%d %d %d",pozi,pozf,maxx);
return 0;
}