Pagini recente » Cod sursa (job #416903) | Cod sursa (job #3188916) | Cod sursa (job #1717202) | Cod sursa (job #3170123) | Cod sursa (job #545475)
Cod sursa(job #545475)
#include<fstream>
#include<deque>
using namespace std;
deque<int > Q;
int n, k;
int a[500001];
int maxim = -10000000;
int inc, sf;
void solve();
int main()
{
solve();
return 0;
}
void solve()
{
ifstream fin("secventa.in");
ofstream fout("secventa.out");
fin >> n >> k;
for(int i = 1; i <= n; ++i)
{
fin >> a[i];
if( Q.size() == k)
Q.pop_front();
while( !Q.empty() && a[i] <= a[ Q.back() ] )
Q.pop_back();
Q.push_back(i);
if( (int)Q.size() <= k)
if( a[ Q.front() ] > maxim)
{
maxim = a[ Q.front() ];
inc = Q.front();
sf = Q.back();
}
}
fout << inc << " " <<sf << " " << maxim;
}