Pagini recente » Cod sursa (job #323278) | Cod sursa (job #2498592) | Cod sursa (job #2231916) | Cod sursa (job #108371) | Cod sursa (job #565995)
Cod sursa(job #565995)
#include <fstream>
#include <deque>
#include <cstdio>
#define Lmax 500005
int n, k,maxim=-99999999,pi,pf;
int a[Lmax];using namespace std;
FILE *fin=freopen("secventa.in","r",stdin);
FILE *fout=freopen("secventa.out","w",stdout);
deque <int> c;
void functie()
{
ifstream fin("secventa.in");
fin>>n>>k;
for(int i=0;i<n;i++)
{
fin>>a[i];
if(!c.empty() && c.front()<=i-k)
c.pop_front();
while(!c.empty() && a[c.back()]>=a[i])
c.pop_back();
c.push_back(i);
if(i>=k-1 && maxim<a[c.front()]){
pi=c.back()-k+1;
maxim=a[c.front()];
}
}
}
int main()
{
functie();
printf("%d %d %d\n", pi+1, pi+k, maxim);
return 0;
}