Pagini recente » Cod sursa (job #912147) | Cod sursa (job #1594960) | Cod sursa (job #2368991) | Cod sursa (job #1255884) | Cod sursa (job #603047)
Cod sursa(job #603047)
#include<fstream>
using namespace std;
const int maxn=100000005;
int n, k, i, first, last, a[maxn], p, minim, deque[maxn];
ifstream f("secventa.in");
ofstream g("secventa.out");
int main()
{// freopen("secventa.in", "r", stdin);
//freopen("secventa.out", "w", stdout);
f>>n>>k;//scanf("%d %d", &n, &k);
for(i=1; i<=n; ++i) f>>a[i];//scanf("%d", &a[i]);
first=1, last=0;
for(i=1; i<=n; ++i) { while(first<=last && a[i]<=a[deque[last]]) last--;
deque[++last]=i;
if(deque[first]==i-k) first++;
if(i>=k && a[deque[first]]>minim) { minim=a[deque[first]];
p=i;
}
}
g<<p-k+1<<" "<<p<<" "<<minim<<"\n";
// printf("%d %d %d\n", p-k+1, p, min);
fclose(stdin);
fclose(stdout);
return 0;
}