Pagini recente » Cod sursa (job #1469134) | Cod sursa (job #2840602) | Cod sursa (job #1826991) | Cod sursa (job #1372373) | Cod sursa (job #3133441)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("secventa.in");
ofstream fout("secventa.out");
const int dir = 60005, poz = 60005 , koko = 500005;
bool ok = true;
int k, max1, maxmin = - 30001, idk, n, w, x, nr = 1, nr2, nr3;
int v[dir], o[koko];
short int l[poz];
void pluss(int v[],int &k, int max1, short int l[], int &nr)
{
k ++;
v[k] = max1;
l[k] = nr;
}
void minuss( int &k, int &nr)
{
k = k - 1;
nr --;
}
int main()
{
fin >> n >> w;
fin >> o[1];
max1 = o[1];
pluss(v, k, max1, l, nr);
for( int i = 2 ; i <= n ; i ++)
{
fin >> o[i];
nr ++;
if(i + w - 1 > n)int prost = 1;
else
{
if(max1 < o[i])
{
max1 = o[i];
pluss(v, k, max1, l, nr);
}
}
}
for(int i = k ; 1 <= i ; i --)
{ int prost = 0;
ok = true;
nr2 = l[i];
if(nr2 + w - 1> n){ok = false; int prost = 1;}
else {
for(int j = 1 ; j < w ; j ++)
{
nr2++;
if(nr2 > n)
{
ok = false;
break;
}
else
{
if(v[i] > o[nr2] && ok == true)
{
ok = false;
}
if(maxmin < o[nr2] && v[i] > o[nr2])
{
maxmin = o[nr2];
nr3 = l[i];
}
}
}
if(nr2 > n)ok = false;
}
if(prost == 1)ok = false;
if(ok = true)
{
fout << l[i] << " " << l[i] + w - 1 << " " << v[i];
return 0;
}
}
fout << nr3 << " " << nr3 + w - 1<< " "<<maxmin;
return 0;
}