Cod sursa(job #1233963)

Utilizator Johnny07Savu Ioan-Daniel Johnny07 Data 26 septembrie 2014 14:39:17
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#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;
}