Pagini recente » Cod sursa (job #519720) | Cod sursa (job #3254291) | Cod sursa (job #392171) | Cod sursa (job #2975286) | Cod sursa (job #717395)
Cod sursa(job #717395)
#include <fstream>
#include <iostream>
using namespace std;
int min(int w[],unsigned long int p, unsigned long int k)
{
int m=w[p];
for (int i=p+1; i<p+k; i++)
if(w[i]<m)
m=w[i];
return m;
}
int main()
{
unsigned long int n, k, c=1 ,p=0, poz=0;
int base=-30001,b=-30001 , a[500001];
fstream f("secventa.in",ios::in);
f>>n>>k;
for (int i=0;i<n ;i++)
{
f>>a[i];
}
f.close();
for (int i=1;i<n ;i++)
{
b=min(a,p,c);
// cout<<"b="<<b<<"\n";
// cout<<"p="<<p<<"\n";
// cout<<"c="<<c<<"\n";
if ((c==k)&&(base<b))
{
base=b;
poz=p;
// cout<<"base<b =>\n";
// cout<<"base="<<base<<"\n";
// cout<<"poz="<<poz<<"\n";
}
if (b>a[i])
{
p=i;
c=1;
// cout<<"b>a[i] =>\n";
// cout<<"p="<<p<<"\n";
// cout<<"c="<<c<<"\n";
}
else
{
if(c<k)
{
c++;
// cout<<"c++ => c="<<c<<"\n";
}
else
{
p++;
// cout<<"p++ => p="<<p<<"\n";
//c--;
}
}
}
b=min(a,p,c);
if ((c==k)&&(base<b))
{
base=b;
poz=p;
// cout<<"base<b =>\n";
// cout<<"base="<<base<<"\n";
// cout<<"poz="<<poz<<"\n";
}
fstream g("secventa.out",ios::out);
g<<poz+1<<" "<<poz+k<<" "<<base;
// cout<<poz+1<<" "<<poz+k<<" "<<base;
g.close();
return(0);
}