Cod sursa(job #2205769)
Utilizator | Data | 20 mai 2018 11:16:19 | |
---|---|---|---|
Problema | Secventa | Scor | 80 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.53 kb |
#include <fstream>
using namespace std;
ifstream f("secventa.in");
ofstream g("secventa.out");
int maxi,i,sf,in,u,p,n,k,v[500001],dq[500001];
int main()
{ f>>n>>k;p=0;u=-1;maxi=-30001;
for(i=1;i<=n;i++){
f>>v[i];
while(p<=u&&v[i]<=v[dq[u]])
u--;
dq[++u]=i;
if(i-dq[p]+1>k){
p++;
}
if(i>=k)
if(maxi<v[dq[p]]){
maxi=v[dq[p]];
sf=i;
}
}
g<<sf-k+1<<' '<<sf<<' '<<maxi;
return 0;
}