Pagini recente » Cod sursa (job #1830775) | Cod sursa (job #812144) | Cod sursa (job #402266) | Cod sursa (job #1817339) | Cod sursa (job #1386238)
#include<bits/stdc++.h>
using namespace std;
int N, K, el; char lol[500500], *sir = lol;
deque < pair < int, int > > D;
int main()
{
int SOL = -30001, ind_SOL;
freopen("secventa.in", "r", stdin);
scanf("%d %d \n", &N, &K);
gets(lol);
for(int i = 1; i <= N; ++ i) {
el = 0;
while(*sir != ' ' && *sir != '\0') {
if(*sir == '-') {
el = - (*(++ sir) - '0');
++ sir;
continue;
}
el = el * 10 + (*sir - '0');
++ sir;
}
++ sir;
for( ; D.size() && D.back().first > el ; D.pop_back()) ;
D.push_back(make_pair(el, i));
if(i - D.front().second + 1> K)
D.pop_front();
if(i >= K && D.front().first > SOL) {
SOL = D.front().first;
ind_SOL = i;
}
}
fprintf(fopen("secventa.out", "w"), "%d %d %d", ind_SOL - K + 1, ind_SOL, SOL);
return 0;
}