Pagini recente » Cod sursa (job #1980740) | Cod sursa (job #718885) | Cod sursa (job #1945312) | Cod sursa (job #1315592) | Cod sursa (job #806161)
Cod sursa(job #806161)
#include <fstream>
using namespace std;
ifstream f;
ofstream g;
long n,k;
int a[500001],b[500001];
void cit()
{
f.open("secventa.in");
f>>n>>k;
for (int i=1;i<=n;i++)
f>>a[i];
f.close();
}
int min(int p,int q)
{
int m=a[p];
for (int i=p+1;i<=q;i++) if (m>a[i]) m=a[i];
return m;
}
int min2(int a,int b)
{
if (a<b)return a;
return b;
}
void din()
{
int j=1;
b[k]=min(1,k);
for (int i=k+1;i<=n;i++)
{
if (a[j]==b[i-1]) b[i]=min(j+1,i);
else b[i]=min2(b[i-1],a[i]);
j++;
}
}
void afmax()
{
int p=k;
int max=b[k];
for (int i=k;i<=n;i++)
{
if (b[i]>max)
{
max=b[i];
p=i;
}
}
g<<p-k+1<<" "<<p<<" "<<max;
}
int main()
{
cit();
g.open("secventa.out");
din();
afmax();
//for (int i=1;i<=n;i++) g<<b[i];
g.close();
return 0;
}