Nu aveti permisiuni pentru a descarca fisierul grader_test8.ok
Cod sursa(job #1770213)
| Utilizator | Data | 3 octombrie 2016 21:37:22 | |
|---|---|---|---|
| Problema | Secventa | Scor | 70 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.68 kb |
#include <iostream>
#include<fstream>
#define Nmax 500001
using namespace std;
ifstream f("secventa.in");
ofstream g("secventa.out");
long long n,k,i,a[Nmax],Deque[Nmax],Front,Back,mx=-30005,imx,jmx;
int main()
{
f>>n>>k;
for(i=1;i<=n;i++)
f>>a[i];
Front=1;
Back=0;
for(i=1;i<=n;i++)
{
while(Front<=Back && a[i]<=a[Deque[Back]])
Back--;
Deque[++Back]=i;
if(Deque[Front]==i-k)
Front++;
if(i>=k)
if(a[Deque[Front]]>mx)
{
mx=a[Deque[Front]];
imx=i-k+1;
jmx=i;
}
}
g<<imx<<' '<<jmx<<' '<<mx;
}
