Cod sursa(job #709044)
Utilizator | Crestez Paul iarba | Data | 7 martie 2012 17:09:26 |
---|---|---|---|
Problema | Secventa | Scor | 90 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.5 kb |
#include <iostream>
#include <fstream>
using namespace std;
int a[500002];
long deq[500002];
long i,n,j,fr,bk,maxx,maxi,k;
int main()
{
freopen("secventa.in","r",stdin);
ofstream g("secventa.out");
scanf("%ld%ld",&n,&k);
fr=1;bk=0;maxx=-999999999;
for(i=1;i<=n;i++){
scanf("%d",&a[i]);
while((fr<=bk)&&(a[i]<=a[deq[bk]])){bk--;}
deq[++bk]=i;
if(deq[fr]==i-k){fr++;}
if(i>=k){if(a[deq[fr]]>maxx){maxx=a[deq[fr]];maxi=i;}}
}
g<<maxi-k+1<<' '<<maxi<<' '<<maxx;
return 0;
}