Cod sursa(job #1016127)
| Utilizator | Data | 25 octombrie 2013 20:07:53 | |
|---|---|---|---|
| Problema | Secventa | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.57 kb |
#include <fstream>
using namespace std;
ifstream f("secventa.in");
ofstream g("secventa.out");
int n,k,v,i,d[500001],sfarsit,inceput,a[500001],MAX,pi,pf;
int main()
{
f>>n>>k;
inceput=1;
for (i=1;i<=n;i++)
{
f>>a[i];
while(inceput<=sfarsit && a[i]<a[d[sfarsit]]) sfarsit--;
d[++sfarsit]=i;
if (i-k==d[inceput]) inceput++;
if ((i>=k && a[d[inceput]]>MAX) && d[sfarsit]-k==d[inceput]-1)
MAX=a[d[inceput]],pi=d[inceput],pf=d[inceput]+k-1;
}
g<<pi<<' '<<pf<<' '<<MAX;
return 0;
}
