Pagini recente » Cod sursa (job #1461570) | Cod sursa (job #419849) | Cod sursa (job #1497392) | Cod sursa (job #1040994) | Cod sursa (job #603048)
Cod sursa(job #603048)
#include<fstream>
using namespace std;
const int maxn=100000005;
int n, k, i, first, last, a[maxn], p, minim=-30001, 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;
}